/////////////////////////////////////////////// // 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
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); }
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; }