Diff for /np2/win9x/subwind.cpp between versions 1.7 and 1.14

version 1.7, 2004/04/08 13:08:22 version 1.14, 2007/01/08 07:52:01
Line 49  typedef struct { Line 49  typedef struct {
 typedef struct {  typedef struct {
         int             posx;          int             posx;
         int             posy;          int             posy;
         BYTE    mode;          UINT8   mode;
         BYTE    type;          UINT8   type;
 } KDISPCFG;  } KDISPCFG;
   
 static  KDISPWIN        kdispwin;  static  KDISPWIN        kdispwin;
 static  KDISPCFG        kdispcfg;  static  KDISPCFG        kdispcfg;
   
 static const char kdispapp[] = "Key Display";  static const TCHAR kdisptitle[] = _T("Key Display");
 static const char kdispclass[] = "NP2-KeyDispWin";  static const TCHAR kdispclass[] = _T("NP2-KeyDispWin");
 static const char str_kdclose[] = "&Close";  static const TCHAR str_kdclose[] = _T("&Close");
   
 static const UINT32 kdisppal[KEYDISP_PALS] =  static const UINT32 kdisppal[KEYDISP_PALS] =
                                                                         {0x00000000, 0xffffffff, 0xf9ff0000};                                                                          {0x00000000, 0xffffffff, 0xf9ff0000};
   
 static const INITBL kdispini[] = {  #if defined(OSLANG_UTF8)
         {"WindposX", INITYPE_SINT32,    &kdispcfg.posx,                 0},  static const OEMCHAR kdispapp[] = OEMTEXT("Key Display");
         {"WindposY", INITYPE_SINT32,    &kdispcfg.posy,                 0},  #else
         {"keydmode", INITYPE_UINT8,             &kdispcfg.mode,                 0},  #define kdispapp        kdisptitle
         {"windtype", INITYPE_BOOL,              &kdispcfg.type,                 0}};  #endif
   static const PFTBL kdispini[] = {
                                   PFVAL("WindposX", PFTYPE_SINT32,        &kdispcfg.posx),
                                   PFVAL("WindposY", PFTYPE_SINT32,        &kdispcfg.posy),
                                   PFVAL("keydmode", PFTYPE_UINT8,         &kdispcfg.mode),
                                   PFVAL("windtype", PFTYPE_BOOL,          &kdispcfg.type)};
   
   
 static BYTE kdgetpal8(CMNPALFN *self, UINT num) {  static UINT8 kdgetpal8(CMNPALFN *self, UINT num) {
   
         if (num < KEYDISP_PALS) {          if (num < KEYDISP_PALS) {
                 return(kdisppal[num] >> 24);                  return(kdisppal[num] >> 24);
Line 127  static void kdsetwinsize(void) { Line 132  static void kdsetwinsize(void) {
         winlocex_destroy(wlex);          winlocex_destroy(wlex);
 }  }
   
 static void kdsetdispmode(BYTE mode) {  static void kdsetdispmode(UINT8 mode) {
   
         HMENU   hmenu;          HMENU   hmenu;
   
Line 287  BOOL kdispwin_initialize(HINSTANCE hPreI Line 292  BOOL kdispwin_initialize(HINSTANCE hPreI
                 wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;                  wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
                 wc.lpfnWndProc = kdproc;                  wc.lpfnWndProc = kdproc;
                 wc.cbClsExtra = 0;                  wc.cbClsExtra = 0;
                 wc.cbWndExtra = NP2GWL_SIZE;                  wc.cbWndExtra = NP2GWLP_SIZE;
                 wc.hInstance = hInst;                  wc.hInstance = hInst;
                 wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2));                  wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2));
                 wc.hCursor = LoadCursor(NULL, IDC_ARROW);                  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
Line 305  BOOL kdispwin_initialize(HINSTANCE hPreI Line 310  BOOL kdispwin_initialize(HINSTANCE hPreI
 void kdispwin_create(void) {  void kdispwin_create(void) {
   
         HWND            hwnd;          HWND            hwnd;
         BYTE            mode;          UINT8           mode;
         CMNPALFN        palfn;          CMNPALFN        palfn;
   
         if (kdispwin.hwnd != NULL) {          if (kdispwin.hwnd != NULL) {
                 return;                  return;
         }          }
         ZeroMemory(&kdispwin, sizeof(kdispwin));          ZeroMemory(&kdispwin, sizeof(kdispwin));
         hwnd = CreateWindow(kdispclass, kdispapp,          hwnd = CreateWindow(kdispclass, kdisptitle,
                                                 WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |                                                  WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
                                                 WS_MINIMIZEBOX,                                                  WS_MINIMIZEBOX,
                                                 kdispcfg.posx, kdispcfg.posy,                                                  kdispcfg.posx, kdispcfg.posy,
                                                 CW_USEDEFAULT, CW_USEDEFAULT,                                                  KEYDISP_WIDTH, KEYDISP_HEIGHT,
                                                 NULL, NULL, hInst, NULL);                                                  NULL, NULL, hInst, NULL);
         kdispwin.hwnd = hwnd;          kdispwin.hwnd = hwnd;
         if (hwnd == NULL) {          if (hwnd == NULL) {
Line 368  HWND kdispwin_gethwnd(void) { Line 373  HWND kdispwin_gethwnd(void) {
         return(kdispwin.hwnd);          return(kdispwin.hwnd);
 }  }
   
 void kdispwin_draw(BYTE cnt) {  void kdispwin_draw(UINT8 cnt) {
   
         BYTE    flag;          UINT8   flag;
   
         if (kdispwin.hwnd) {          if (kdispwin.hwnd) {
                 if (!cnt) {                  if (!cnt) {
Line 386  void kdispwin_draw(BYTE cnt) { Line 391  void kdispwin_draw(BYTE cnt) {
   
 void kdispwin_readini(void) {  void kdispwin_readini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         ZeroMemory(&kdispcfg, sizeof(kdispcfg));          ZeroMemory(&kdispcfg, sizeof(kdispcfg));
         kdispcfg.posx = CW_USEDEFAULT;          kdispcfg.posx = CW_USEDEFAULT;
         kdispcfg.posy = CW_USEDEFAULT;          kdispcfg.posy = CW_USEDEFAULT;
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_read(path, kdispapp, kdispini, sizeof(kdispini)/sizeof(INITBL));          ini_read(path, kdispapp, kdispini, NELEMENTS(kdispini));
 }  }
   
 void kdispwin_writeini(void) {  void kdispwin_writeini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_write(path, kdispapp, kdispini, sizeof(kdispini)/sizeof(INITBL));          ini_write(path, kdispapp, kdispini, NELEMENTS(kdispini));
 }  }
 #endif  #endif
   
Line 426  typedef struct { Line 431  typedef struct {
 static  MDBGWIN         mdbgwin;  static  MDBGWIN         mdbgwin;
 static  MDBGCFG         mdbgcfg;  static  MDBGCFG         mdbgcfg;
   
 static const char mdbgapp[] = "Memory Map";  static const TCHAR mdbgtitle[] = _T("Memory Map");
 static const char mdbgclass[] = "NP2-MemDbgWin";  static const TCHAR mdbgclass[] = _T("NP2-MemDbgWin");
 static const INITBL mdbgini[] = {  
         {"WindposX", INITYPE_SINT32,    &mdbgcfg.posx,                  0},  #if defined(OSLANG_UTF8)
         {"WindposY", INITYPE_SINT32,    &mdbgcfg.posy,                  0},  static const OEMCHAR mdbgapp[] = OEMTEXT("Memory Map");
         {"windtype", INITYPE_BOOL,              &mdbgcfg.type,                  0}};  #else
   #define mdbgapp         mdbgtitle
   #endif
   static const PFTBL mdbgini[] = {
                                   PFVAL("WindposX", PFTYPE_SINT32,        &mdbgcfg.posx),
                                   PFVAL("WindposY", PFTYPE_SINT32,        &mdbgcfg.posy),
                                   PFVAL("windtype", PFTYPE_BOOL,          &mdbgcfg.type)};
   
   
 static void mdpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) {  static void mdpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) {
Line 439  static void mdpalcnv(CMNPAL *dst, const  Line 450  static void mdpalcnv(CMNPAL *dst, const 
         UINT    i;          UINT    i;
   
         switch(bpp) {          switch(bpp) {
   #if defined(SUPPORT_16BPP)
                   case 16:
                           for (i=0; i<pals; i++) {
                                   dst[i].pal16 = dd2_get16pal(mdbgwin.dd2hdl, src[i]);
                           }
                           break;
   #endif
   #if defined(SUPPORT_24BPP)
                   case 24:
   #endif
   #if defined(SUPPORT_32BPP)
                 case 32:                  case 32:
   #endif
   #if defined(SUPPORT_24BPP) || defined(SUPPORT_32BPP)
                         for (i=0; i<pals; i++) {                          for (i=0; i<pals; i++) {
                                 dst[i].pal32.d = src[i].d;                                  dst[i].pal32.d = src[i].d;
                         }                          }
                         break;                          break;
   #endif
         }          }
 }  }
   
Line 497  static LRESULT CALLBACK mdproc(HWND hWnd Line 522  static LRESULT CALLBACK mdproc(HWND hWnd
                         mdpaintmsg(hWnd);                          mdpaintmsg(hWnd);
                         break;                          break;
   
                   case WM_LBUTTONDOWN:
                           if (mdbgcfg.type & 1) {
                                   return(SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0L));
                           }
                           break;
   
                   case WM_LBUTTONDBLCLK:
                           mdbgcfg.type ^= 1;
                           wintypechange(hWnd, (mdbgcfg.type & 1) + 1);
                           sysmng_update(SYS_UPDATEOSCFG);
                           break;
   
                 case WM_KEYDOWN:                  case WM_KEYDOWN:
                 case WM_KEYUP:                  case WM_KEYUP:
                         SendMessage(hWndMain, msg, wp, lp);                          SendMessage(hWndMain, msg, wp, lp);
Line 553  static LRESULT CALLBACK mdproc(HWND hWnd Line 590  static LRESULT CALLBACK mdproc(HWND hWnd
         return(0);          return(0);
 }  }
   
 BOOL memdbg_initialize(HINSTANCE hInstance) {  BOOL mdbgwin_initialize(HINSTANCE hPreInst) {
   
         WNDCLASS        wc;          WNDCLASS        wc;
   
         wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW;          if (!hPreInst) {
         wc.lpfnWndProc = mdproc;                  wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
         wc.cbClsExtra = 0;                  wc.lpfnWndProc = mdproc;
         wc.cbWndExtra = 0;                  wc.cbClsExtra = 0;
         wc.hInstance = hInstance;                  wc.cbWndExtra = 0;
         wc.hIcon = NULL;                  wc.hInstance = hInst;
         wc.hCursor = LoadCursor(NULL, IDC_ARROW);                  wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2));
         wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH);                  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
         wc.lpszMenuName = NULL;                  wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH);
         wc.lpszClassName = mdbgclass;                  wc.lpszMenuName = NULL;
         if (!RegisterClass(&wc)) {                  wc.lpszClassName = mdbgclass;
                 return(FAILURE);                  if (!RegisterClass(&wc)) {
                           return(FAILURE);
                   }
         }          }
         memdbg32_initialize();          memdbg32_initialize();
         return(SUCCESS);          return(SUCCESS);
 }  }
   
 void memdbg_create(void) {  void mdbgwin_create(void) {
   
         HWND    hwnd;          HWND    hwnd;
   
Line 583  void memdbg_create(void) { Line 622  void memdbg_create(void) {
         }          }
         ZeroMemory(&mdbgwin, sizeof(mdbgwin));          ZeroMemory(&mdbgwin, sizeof(mdbgwin));
         memdbg32_getsize(&mdbgwin.width, &mdbgwin.height);          memdbg32_getsize(&mdbgwin.width, &mdbgwin.height);
         hwnd = CreateWindow(mdbgclass, mdbgapp,          hwnd = CreateWindow(mdbgclass, mdbgtitle,
                                                 WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |                                                  WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
                                                 WS_MINIMIZEBOX,                                                  WS_MINIMIZEBOX,
                                                 mdbgcfg.posx, mdbgcfg.posy,                                                  mdbgcfg.posx, mdbgcfg.posy,
Line 610  mdcre_err1: Line 649  mdcre_err1:
         return;          return;
 }  }
   
 void memdbg_destroy(void) {  void mdbgwin_destroy(void) {
   
         if (mdbgwin.hwnd) {          if (mdbgwin.hwnd) {
                 DestroyWindow(mdbgwin.hwnd);                  DestroyWindow(mdbgwin.hwnd);
         }          }
 }  }
   
 void memdbg_process(void) {  void mdbgwin_process(void) {
   
         if ((mdbgwin.hwnd) && (memdbg32_process())) {          if ((mdbgwin.hwnd) && (memdbg32_process())) {
                 mddrawwin(mdbgwin.hwnd, FALSE);                  mddrawwin(mdbgwin.hwnd, FALSE);
         }          }
 }  }
   
 HWND memdbg_gethwnd(void) {  HWND mdbgwin_gethwnd(void) {
   
         return(mdbgwin.hwnd);          return(mdbgwin.hwnd);
 }  }
   
 void memdbg_readini(void) {  void mdbgwin_readini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         mdbgcfg.posx = CW_USEDEFAULT;          mdbgcfg.posx = CW_USEDEFAULT;
         mdbgcfg.posy = CW_USEDEFAULT;          mdbgcfg.posy = CW_USEDEFAULT;
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_read(path, mdbgapp, mdbgini, sizeof(mdbgini)/sizeof(INITBL));          ini_read(path, mdbgapp, mdbgini, NELEMENTS(mdbgini));
 }  }
   
 void memdbg_writeini(void) {  void mdbgwin_writeini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_write(path, mdbgapp, mdbgini, sizeof(mdbgini)/sizeof(INITBL));          ini_write(path, mdbgapp, mdbgini, NELEMENTS(mdbgini));
 }  }
 #endif  #endif
   
Line 669  typedef struct { Line 708  typedef struct {
 static  SKBDWIN         skbdwin;  static  SKBDWIN         skbdwin;
 static  SKBDCFG         skbdcfg;  static  SKBDCFG         skbdcfg;
   
 static const char skbdapp[] = "Soft Keyboard";  static const TCHAR skbdtitle[] = _T("Soft Keyboard");
 static const char skbdclass[] = "NP2-SoftKBDWin";  static const TCHAR skbdclass[] = _T("NP2-SoftKBDWin");
 static const INITBL skbdini[] = {  
         {"WindposX", INITYPE_SINT32,    &skbdcfg.posx,                  0},  #if defined(OSLANG_UTF8)
         {"WindposY", INITYPE_SINT32,    &skbdcfg.posy,                  0},  static const OEMCHAR skbdapp[] = OEMTEXT("Soft Keyboard");
         {"windtype", INITYPE_BOOL,              &skbdcfg.type,                  0}};  #else
   #define skbdapp         skbdtitle
   #endif
   static const PFTBL skbdini[] = {
                                   PFVAL("WindposX", PFTYPE_SINT32,        &skbdcfg.posx),
                                   PFVAL("WindposY", PFTYPE_SINT32,        &skbdcfg.posy),
                                   PFVAL("windtype", PFTYPE_BOOL,          &skbdcfg.type)};
   
 static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) {  static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) {
   
         UINT    i;          UINT    i;
   
         switch(bpp) {          switch(bpp) {
 #if defined(SUPPORT_8BPP)  
                 case 8:  
                         break;  
 #endif  
 #if defined(SUPPORT_16BPP)  #if defined(SUPPORT_16BPP)
                 case 16:                  case 16:
                         for (i=0; i<pals; i++) {                          for (i=0; i<pals; i++) {
Line 833  BOOL skbdwin_initialize(HINSTANCE hPreIn Line 874  BOOL skbdwin_initialize(HINSTANCE hPreIn
                 wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;                  wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
                 wc.lpfnWndProc = skproc;                  wc.lpfnWndProc = skproc;
                 wc.cbClsExtra = 0;                  wc.cbClsExtra = 0;
                 wc.cbWndExtra = NP2GWL_SIZE;                  wc.cbWndExtra = NP2GWLP_SIZE;
                 wc.hInstance = hInst;                  wc.hInstance = hInst;
                 wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2));                  wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2));
                 wc.hCursor = LoadCursor(NULL, IDC_ARROW);                  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
Line 864  void skbdwin_create(void) { Line 905  void skbdwin_create(void) {
         if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) {          if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) {
                 return;                  return;
         }          }
         hwnd = CreateWindow(skbdclass, skbdapp,          hwnd = CreateWindow(skbdclass, skbdtitle,
                                                 WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |                                                  WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
                                                 WS_MINIMIZEBOX,                                                  WS_MINIMIZEBOX,
                                                 skbdcfg.posx, skbdcfg.posy,                                                  skbdcfg.posx, skbdcfg.posy,
Line 912  void skbdwin_process(void) { Line 953  void skbdwin_process(void) {
   
 void skbdwin_readini(void) {  void skbdwin_readini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         skbdcfg.posx = CW_USEDEFAULT;          skbdcfg.posx = CW_USEDEFAULT;
         skbdcfg.posy = CW_USEDEFAULT;          skbdcfg.posy = CW_USEDEFAULT;
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_read(path, skbdapp, skbdini, sizeof(skbdini)/sizeof(INITBL));          ini_read(path, skbdapp, skbdini, NELEMENTS(skbdini));
 }  }
   
 void skbdwin_writeini(void) {  void skbdwin_writeini(void) {
   
         char    path[MAX_PATH];          OEMCHAR path[MAX_PATH];
   
         initgetfile(path, sizeof(path));          initgetfile(path, NELEMENTS(path));
         ini_write(path, skbdapp, skbdini, sizeof(skbdini)/sizeof(INITBL));          ini_write(path, skbdapp, skbdini, NELEMENTS(skbdini));
 }  }
 #endif  #endif
   

Removed from v.1.7  
changed lines
  Added in v.1.14


RetroPC.NET-CVS <cvs@retropc.net>