Exemplo n.º 1
0
///////////////////////////////////////////////
// Tab control has changed : hide/show controls
LRESULT TR_ChangeTabControl (HWND hDlgWnd)
{
HWND   hTabWnd = GetDlgItem (hDlgWnd, IDC_TAB_OPTION);
DWORD  nCurOnglet = TabCtrl_GetCurSel (hTabWnd);
DWORD  Ark;
DWORD  TabMask;
TC_ITEM TabCtrlItem;

 // get the selected tab id
 if (nCurOnglet != (DWORD)-1)
   {
          TabCtrlItem.mask = TCIF_PARAM   ;
          TabCtrl_GetItem (hTabWnd, nCurOnglet, & TabCtrlItem);
          TabMask = MakeMask (TabCtrlItem.lParam);
   }
  else    TabMask = TAB_NONE;

 // according to TabMask and tResize table hide/display controls
 for (Ark=0 ; Ark<SizeOfTab(tResize) ; Ark++)
        ShowWindow (GetDlgItem (hDlgWnd, tResize[Ark].idCtrl),
                    (tResize[Ark].mView & TabMask) ? SW_SHOW : SW_HIDE);

  // DHCP tab has been selected : display the settings
  if (TabMask == TAB_DHCP_SERVER)
  {
	 Gui_LoadDHCPConfig (hDlgWnd);
  }

return TabCtrlItem.lParam ;
} // ChangeTabControl
Exemplo n.º 2
0
void *ReadConfig(LINACONFIG *lc) {
  void *img,*img1;
  FILE *fp;
  struct stat fstat;
  SESSIONINFO *spt;
  char buff[300],*pt,Field[60],Value[300];
  int i,j;
  InitConfig(lc);
  lc->Mask = MakeMask(Isize*4,Isize*4,0.5);

  fp = fopen("/usr/share/config/lina/linarc","r");
  if(fp==NULL){
     fp = fopen("/etc/xdg/lina/linarc","r");
     if(fp!=NULL) {
       lstat("/etc/xdg/lina/linarc",&fstat);
       if( (fstat.st_mode&00077)!=0) {
         printf("Others Got Access To File...\n");
         fclose(fp);
         fp=NULL;
       }
     }
  }
  else {
    lstat("/usr/share/config/lina/linarc",&fstat);
    if( (fstat.st_mode&00077)!=0) {
      printf("Others Got Access To File...\n");
      fclose(fp);
      fp=NULL;
    }
  }
  if(fp != NULL) {
    while(fgets(buff,299,fp) != NULL) {
       SkipCommentLine;
       pt=strchr(buff,':');
       if(pt==NULL) continue;
       pt[0]='\0';
       pt++;
       if(sscanf(buff,"%s",Field)<= 0) continue;
       ProcessValuePointer(pt);
       if( strcmp(Field,"BackGround")==0 ) {
         strcpy(lc->Bkgr,pt);
         continue;
       }
       if( strcmp(Field,"RootPicture")==0 ) {
         strcpy(lc->RootPic,pt);
         continue;
       }
       if( strcmp(Field,"UserPicture")==0 ) {
//         printf("%s\n",pt);
//         fflush(stdout);
         strcpy(lc->UserPic,pt);
         continue;
       }
       if( strcmp(Field,"DefaultUser")==0 ) {
         strncpy(lc->DefUser,pt,29);
         continue;
       }
       if( strcmp(Field,"DefaultSession")==0 ) {
         strncpy(lc->DefSession,pt,29);
         continue;
       }
       if( strcmp(Field,"Red")==0 ) {
         sscanf(pt,"%d",&(lc->Red));
         if(lc->Red < 0) lc->Red=0;
         if(lc->Red > 255) lc->Red=255;
         continue;
       }
       if( strcmp(Field,"Green")==0 ) {
         sscanf(pt,"%d",&(lc->Green));
         if(lc->Green < 0) lc->Green=0;
         if(lc->Green > 255) lc->Green=255;
         continue;
       }
       if( strcmp(Field,"Blue")==0 ) {
         sscanf(pt,"%d",&(lc->Blue));
         if(lc->Blue < 0) lc->Blue=0;
         if(lc->Blue > 255) lc->Blue=255;
         continue;
       }
       if( strcmp(Field,"FontRed")==0 ) {
         sscanf(pt,"%d",&(lc->FontRed));
         if(lc->FontRed < 0) lc->FontRed=0;
         if(lc->FontRed > 255) lc->FontRed=255;
         continue;
       }
       if( strcmp(Field,"FontGreen")==0 ) {
         sscanf(pt,"%d",&(lc->FontGreen));
         if(lc->FontGreen < 0) lc->FontGreen=0;
         if(lc->FontGreen > 255) lc->FontGreen=255;
         continue;
       }
       if( strcmp(Field,"FontBlue")==0 ) {
         sscanf(pt,"%d",&(lc->FontBlue));
         if(lc->FontBlue < 0) lc->FontBlue=0;
         if(lc->FontBlue > 255) lc->FontBlue=255;
         continue;
       }
       if( strcmp(Field,"HighRed")==0 ) {
         sscanf(pt,"%d",&(lc->HighRed));
         if(lc->HighRed < 0) lc->HighRed=0;
         if(lc->HighRed > 255) lc->HighRed=255;
         continue;
       }
       if( strcmp(Field,"HighGreen")==0 ) {
         sscanf(pt,"%d",&(lc->HighGreen));
         if(lc->HighGreen < 0) lc->HighGreen=0;
         if(lc->HighGreen > 255) lc->HighGreen=255;
         continue;
       }
       if( strcmp(Field,"HighBlue")==0 ) {
         sscanf(pt,"%d",&(lc->HighBlue));
         if(lc->HighBlue < 0) lc->HighBlue=0;
         if(lc->HighBlue > 255) lc->HighBlue=255;
         continue;
       }
       if( strcmp(Field,"ButRed")==0 ) {
         sscanf(pt,"%d",&(lc->ButRed));
         if(lc->ButRed < 0) lc->ButRed=0;
         if(lc->ButRed > 255) lc->ButRed=255;
         continue;
       }
       if( strcmp(Field,"ButGreen")==0 ) {
         sscanf(pt,"%d",&(lc->ButGreen));
         if(lc->ButGreen < 0) lc->ButGreen=0;
         if(lc->ButGreen > 255) lc->ButGreen=255;
         continue;
       }
       if( strcmp(Field,"ButBlue")==0 ) {
         sscanf(pt,"%d",&(lc->ButBlue));
         if(lc->ButBlue < 0) lc->ButBlue=0;
         if(lc->ButBlue > 255) lc->ButBlue=255;
         continue;
       }
       if( strcmp(Field,"DateRed")==0 ) {
         sscanf(pt,"%d",&(lc->DateRed));
         if(lc->DateRed < 0) lc->DateRed=0;
         if(lc->DateRed > 255) lc->DateRed=255;
         continue;
       }
       if( strcmp(Field,"DateGreen")==0 ) {
         sscanf(pt,"%d",&(lc->DateGreen));
         if(lc->DateGreen < 0) lc->DateGreen=0;
         if(lc->DateGreen > 255) lc->DateGreen=255;
         continue;
       }
       if( strcmp(Field,"DateBlue")==0 ) {
         sscanf(pt,"%d",&(lc->DateBlue));
         if(lc->DateBlue < 0) lc->DateBlue=0;
         if(lc->DateBlue > 255) lc->DateBlue=255;
         continue;
       }
       if( strcmp(Field,"Transparency")==0 ) {
         sscanf(pt,"%f",&(lc->Transparency));
         if(lc->Transparency < 0.001) lc->Transparency=0.001;
         if(lc->Transparency > 1.0) lc->Transparency=1.0;
         continue;
       }
       if( strcmp(Field,"RoundingFac")==0 ) {
         sscanf(pt,"%f",&(lc->fac));
         if(lc->fac < 0) lc->fac=0;
         if(lc->fac > 1.0) lc->fac =1.0;
         continue;
       }
       if( strcmp(Field,"DateFont")==0 ) {
         sscanf(pt,"%d",&(lc->DateFont));
         if(lc->DateFont < 0) lc->DateFont=0;
         if(lc->DateFont > 35) lc->DateFont =35;
         continue;
       }
       if( strcmp(Field,"RootLogin")==0 ) {
         lc->NoRootLogin=1;
         printf("%s :%s:\n",Field,pt);
         if((strcmp(pt,"yes")==0)||(strcmp(pt,"Yes")==0)||(strcmp(pt,"YES")==0)) {
          lc->NoRootLogin=0;
         }
         if((strcmp(pt,"no")==0)||(strcmp(pt,"No")==0)||(strcmp(pt,"NO")==0)) {
          lc->NoRootLogin=1;
         }
         continue;
       }
       if( strcmp(Field,"TextMode")==0 ) {
         lc->TextMode=1;
         printf("%s :%s:\n",Field,pt);
         if((strcmp(pt,"yes")==0)||(strcmp(pt,"Yes")==0)||(strcmp(pt,"YES")==0)) {
          lc->TextMode=1;
         }
         if((strcmp(pt,"no")==0)||(strcmp(pt,"No")==0)||(strcmp(pt,"NO")==0)) {
          lc->TextMode=0;
         }
         continue;
       }
       if( strcmp(Field,"SafeMode")==0 ) {
         lc->SafeMode=1;
         printf("%s :%s:\n",Field,pt);
         if((strcmp(pt,"yes")==0)||(strcmp(pt,"Yes")==0)||(strcmp(pt,"YES")==0)) {
          lc->SafeMode=1;
         }
         if((strcmp(pt,"no")==0)||(strcmp(pt,"No")==0)||(strcmp(pt,"NO")==0)) {
          lc->SafeMode=0;
         }
         continue;
       }
       if( strcmp(Field,"ShowTime")==0 ) {
         lc->ShowTime=1;
         printf("%s :%s:\n",Field,pt);
         if((strcmp(pt,"yes")==0)||(strcmp(pt,"Yes")==0)||(strcmp(pt,"YES")==0)) {
          lc->ShowTime=1;
         }
         if((strcmp(pt,"no")==0)||(strcmp(pt,"No")==0)||(strcmp(pt,"NO")==0)) {
          lc->ShowTime=0;
         }
         continue;
       }
    } // while
    fclose(fp);
  }
  img=NULL;
  if(lc->RootPic[0]!='\0')  {
     img = kgGetImage(lc->RootPic);
  }
  if(img==NULL) {
       img = kgGetImageCopy(NULL,&rimg_str);
  }
  img1 = kgMaskImage(img,lc->Mask);
  lc->Rimg = kgChangeSizeImage(img1,Isize,Isize);
  lc->Rthumb = kgChangeSizeImage(img1,Tsize,Tsize);
  kgFreeImage(img);
  kgFreeImage(img1);
  img=NULL;
  if(lc->UserPic[0]!='\0')  {
     img = kgGetImage(lc->UserPic);
  }
  if(img==NULL) {
       img = kgGetImageCopy(NULL,&uimg_str);
  }
  img1 = kgMaskImage(img,lc->Mask);
  lc->Uimg = kgChangeSizeImage(img1,Isize,Isize);
  lc->Uthumb = kgChangeSizeImage(img1,Tsize,Tsize);
  kgFreeImage(img);
  kgFreeImage(img1);
  lc->Slist=Dopen();
  fp = fopen("/usr/share/config/lina/session","r");
  if(fp==NULL) fopen("/etc/xdg/lina/session","r");
  if(fp != NULL) {
    while(fgets(buff,299,fp) != NULL) {
       SkipCommentLine;
       pt=strchr(buff,':');
       pt[0]='\0';
       pt++;
//       while(*pt==' ') pt++;
//       j=0;while(pt[j]>= ' ')j++;
//       pt[j]='\0';
       if(sscanf(buff,"%s",Field)<= 0) continue;
       ProcessValuePointer(pt);
//       sscanf(pt,"%s",Value);
       spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
       strncpy(spt->Name,Field,29);
       strncpy(spt->Command,pt,99);
       Dadd(lc->Slist,spt);
    }
    fclose(fp);
  } //if
  else {
    spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
    strcpy(spt->Name,"KDE");
    strcpy(spt->Command,"startkde");
    Dadd(lc->Slist,spt);
    spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
    strcpy(spt->Name,"GNOME");
    strcpy(spt->Command,"gnome-session");
    Dadd(lc->Slist,spt);
    spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
    strcpy(spt->Name,"XFCE");
    strcpy(spt->Command,"startxfce4");
    Dadd(lc->Slist,spt);
    WriteSessionsFile(lc->Slist);
  }
  if(lc->TextMode) {
    spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
    strcpy(spt->Name,"Text Console");
    spt->Command[0]='\0';
    Dappend(lc->Slist,spt);
  }
  if(lc->SafeMode) {
    spt = (SESSIONINFO *)malloc(sizeof(SESSIONINFO));
    strcpy(spt->Name,"Fail Safe");
    strcpy(spt->Command,"xterm -geometry 80x24-0-0");
    Dappend(lc->Slist,spt);
  }
#if 0
  if(lc->RootPic[0]=='\0') {
    lc->Rimg = kgGetImageCopy(NULL,&rimg_str);
    lc->Rthumb = kgGetImageCopy(NULL,&rthumb_str);
  }
  else {
    img = kgGetImage(lc->RootPic);
    lc->Rimg = kgChangeSizeImage(img,Isize,Isize);
    lc->Rthumb = kgChangeSizeImage(lc->Rimg,Tsize,Tsize);
    kgFreeImage(img);
  }
  if(lc->UserPic[0]=='\0') {
    lc->Uimg = kgGetImageCopy(NULL,&uimg_str);
    lc->Uthumb = kgGetImageCopy(NULL,&uthumb_str);
  }
  else {
    img = kgGetImage(lc->UserPic);
    lc->Uimg = kgChangeSizeImage(img,Isize,Isize);
    lc->Uthumb = kgChangeSizeImage(lc->Uimg,Tsize,Tsize);
    kgFreeImage(img);
  }
#endif
  ReadUsersInfo(lc);
}
Exemplo n.º 3
0
bool FillDDPF(
    D3D9PixelFormat& ddpf,
    HDC hdc,
    HBITMAP hbitmap,
	DWORD * dwPaletteIndex
) {
    BYTE        ajBitmapInfo[sizeof(BITMAPINFO) + 3 * sizeof(DWORD)];
    BITMAPINFO* pbmi = (BITMAPINFO*)ajBitmapInfo;
    BOOL        bRet = FALSE;

    memset(pbmi, 0, sizeof(ajBitmapInfo));
    pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    ZVerify(::GetDIBits(hdc, hbitmap, 0, 0, NULL, pbmi, DIB_RGB_COLORS));

    ddpf.dwRGBBitCount     = pbmi->bmiHeader.biBitCount;
    ddpf.dwRGBAlphaBitMask = 0;

    switch(pbmi->bmiHeader.biCompression) {
        //
        // Default DIB format.  Color masks are implicit for each bit depth.
        //

        case BI_RGB:
            switch (ddpf.dwRGBBitCount) {
                case 4:
                case 8:
                {
					_ASSERT( false );		// Need to look at palette conversion if this is used.
/*                    ddpf.dwFlags |= ((ddpf.dwRGBBitCount == 4) ? DDPF_PALETTEINDEXED4 : DDPF_PALETTEINDEXED8);

                    //
                    // Create a palette for the surface
                    //

                    RGBQUAD prgb[256];
                    int ncolors = GetDIBColorTable(hdc, 0, 256, prgb);

                    ZAssert(ncolors == (1 << ddpf.dwRGBBitCount));

                    PALETTEENTRY ppe[256];

                    //
                    // convert BGR to RGB
                    //

                    for (int index = 0; index < ncolors; index++) {
                        ppe[index].peRed   = prgb[index].rgbRed;
                        ppe[index].peGreen = prgb[index].rgbGreen;
                        ppe[index].peBlue  = prgb[index].rgbBlue;
                    }

                    //
                    // create a DirectDraw palette for the texture.
                    //
					_ASSERT( false && "TBD" );
					// Add palette management to CVRAMManager. Should be easy.
//                    DDCall(pdd->CreatePalette(
//                        (ddpf.dwRGBBitCount == 4) ? DDPCAPS_4BIT : DDPCAPS_8BIT,
//                        ppe,
//                        pppalette,
//                        NULL
//                    ));

                    return true;*/
					return false;
                }

                case 16:
                    // 16bpp default is 555 BGR-ordering

                    ddpf.dwRBitMask = MakeMask(5, 10);
                    ddpf.dwGBitMask = MakeMask(5,  5);
                    ddpf.dwBBitMask = MakeMask(5,  0);

                    return true;

                case 24:
                case 32:
                    // 24 and 32bpp default is 888 BGR-ordering

                    ddpf.dwRBitMask = MakeMask(8, 16);
                    ddpf.dwGBitMask = MakeMask(8,  8);
                    ddpf.dwBBitMask = MakeMask(8,  0);

                    return true;
            }
            break;

        case BI_BITFIELDS:

            //
            // Call a second time to get the color masks.
            // It's a GetDIBits Win32 "feature".
            //

            ZVerify(::GetDIBits(hdc, hbitmap, 0, pbmi->bmiHeader.biHeight, NULL, pbmi, DIB_RGB_COLORS));

            ddpf.dwRBitMask = *(DWORD *)&pbmi->bmiColors[0];
            ddpf.dwGBitMask = *(DWORD *)&pbmi->bmiColors[1];
            ddpf.dwBBitMask = *(DWORD *)&pbmi->bmiColors[2];

            return true;
    }

    return false;
}