Diff for /np2/win9xc/scrnmng.cpp between versions 1.1 and 1.3

version 1.1, 2003/10/16 17:59:21 version 1.3, 2003/12/08 00:55:34
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        <ddraw.h>  #include        <ddraw.h>
   #ifndef __GNUC__
 #include        <winnls32.h>  #include        <winnls32.h>
   #endif
 #include        "resource.h"  #include        "resource.h"
 #include        "np2.h"  #include        "np2.h"
 #include        "mousemng.h"  #include        "mousemng.h"
Line 60  static void setwindowsize(int width, int Line 62  static void setwindowsize(int width, int
   
         GetWindowRect(hWndMain, &rectwindow);          GetWindowRect(hWndMain, &rectwindow);
         GetClientRect(hWndMain, &rectclient);          GetClientRect(hWndMain, &rectclient);
         width += np2oscfg.paddingx * 2;  
         width += rectwindow.right - rectwindow.left;          width += rectwindow.right - rectwindow.left;
         width -= rectclient.right - rectclient.left;          width -= rectclient.right - rectclient.left;
         height += np2oscfg.paddingy * 2;  
         height += rectwindow.bottom - rectwindow.top;          height += rectwindow.bottom - rectwindow.top;
         height -= rectclient.bottom - rectclient.top;          height -= rectclient.bottom - rectclient.top;
   
Line 108  static void renewalclientsize(void) { Line 108  static void renewalclientsize(void) {
   
         int             width;          int             width;
         int             height;          int             height;
         int             extend;  
         int             multiple;          int             multiple;
         int             scrnwidth;          int             scrnwidth;
         int             scrnheight;          int             scrnheight;
   
         width = min(scrnstat.width, ddraw.width);          width = min(scrnstat.width, ddraw.width);
         height = min(scrnstat.height, ddraw.height);          height = min(scrnstat.height, ddraw.height);
         extend = 0;  
   
         // ÉÁ²èÈϰϡÁ          // ÉÁ²èÈϰϡÁ
         if (ddraw.scrnmode & SCRNMODE_FULLSCREEN) {          if (ddraw.scrnmode & SCRNMODE_FULLSCREEN) {
Line 129  static void renewalclientsize(void) { Line 127  static void renewalclientsize(void) {
         else {          else {
                 multiple = scrnstat.multiple;                  multiple = scrnstat.multiple;
                 if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) {                  if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) {
                         if (np2oscfg.paddingx) {  
                                 extend = min(scrnstat.extend, ddraw.extend);  
                         }  
                         scrnwidth = (width * multiple) >> 3;                          scrnwidth = (width * multiple) >> 3;
                         scrnheight = (height * multiple) >> 3;                          scrnheight = (height * multiple) >> 3;
                         ddraw.rect.right = width + extend;                          ddraw.rect.right = width;
                         ddraw.rect.bottom = height;                          ddraw.rect.bottom = height;
                         ddraw.scrn.left = np2oscfg.paddingx - extend;                          ddraw.scrn.left = 0;
                         ddraw.scrn.top = np2oscfg.paddingy;                          ddraw.scrn.top = 0;
                 }                  }
                 else {                  else {
                         if (np2oscfg.paddingy) {  
                                 extend = min(scrnstat.extend, ddraw.extend);  
                         }  
                         scrnwidth = (height * multiple) >> 3;                          scrnwidth = (height * multiple) >> 3;
                         scrnheight = (width * multiple) >> 3;                          scrnheight = (width * multiple) >> 3;
                         ddraw.rect.right = height;                          ddraw.rect.right = height;
                         ddraw.rect.bottom = width + extend;                          ddraw.rect.bottom = width;
                         ddraw.scrn.left = np2oscfg.paddingx;                          ddraw.scrn.left = 0;
                         ddraw.scrn.top = np2oscfg.paddingy - extend;                          ddraw.scrn.top = 0;
                 }                  }
                 ddraw.scrn.right = np2oscfg.paddingx + scrnwidth;                  ddraw.scrn.right = scrnwidth;
                 ddraw.scrn.bottom = np2oscfg.paddingy + scrnheight;                  ddraw.scrn.bottom = scrnheight;
                 setwindowsize(scrnwidth, scrnheight);                  setwindowsize(scrnwidth, scrnheight);
                 setwindowsize(scrnwidth, scrnheight);                  setwindowsize(scrnwidth, scrnheight);
         }          }
         scrnsurf.width = width;          scrnsurf.width = width;
         scrnsurf.height = height;          scrnsurf.height = height;
         scrnsurf.extend = extend;  
 }  }
   
 static void clearoutofrect(const RECT *target, const RECT *base) {  static void clearoutofrect(const RECT *target, const RECT *base) {
Line 267  static void make16mask(DWORD bmask, DWOR Line 258  static void make16mask(DWORD bmask, DWOR
         ddraw.r16b = sft;          ddraw.r16b = sft;
   
         sft = 0;          sft = 0;
         while((rmask & 0xffffff0) && (sft < 32)) {          while((rmask & 0xffffff00) && (sft < 32)) {
                 rmask >>= 1;                  rmask >>= 1;
                 sft++;                  sft++;
         }          }
Line 275  static void make16mask(DWORD bmask, DWOR Line 266  static void make16mask(DWORD bmask, DWOR
         ddraw.l16r = sft;          ddraw.l16r = sft;
   
         sft = 0;          sft = 0;
         while((gmask & 0xffffff0) && (sft < 32)) {          while((gmask & 0xffffff00) && (sft < 32)) {
                 gmask >>= 1;                  gmask >>= 1;
                 sft++;                  sft++;
         }          }
Line 291  void scrnmng_initialize(void) { Line 282  void scrnmng_initialize(void) {
   
         scrnstat.width = 640;          scrnstat.width = 640;
         scrnstat.height = 400;          scrnstat.height = 400;
         scrnstat.extend = 1;          scrnstat.extend = 0;
         scrnstat.multiple = 8;          scrnstat.multiple = 8;
         setwindowsize(640, 400);          setwindowsize(640, 400);
 }  }
Line 414  BOOL scrnmng_create(BYTE scrnmode) { Line 405  BOOL scrnmng_create(BYTE scrnmode) {
                 ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;                  ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
                 ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;                  ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
                 if (!(scrnmode & SCRNMODE_ROTATE)) {                  if (!(scrnmode & SCRNMODE_ROTATE)) {
                         ddsd.dwWidth = 641;                          ddsd.dwWidth = 640;
                         ddsd.dwHeight = 480;                          ddsd.dwHeight = 480;
                 }                  }
                 else {                  else {
                         ddsd.dwWidth = 480;                          ddsd.dwWidth = 480;
                         ddsd.dwHeight = 641;                          ddsd.dwHeight = 640;
                 }                  }
   
                 if (ddraw2->CreateSurface(&ddsd, &ddraw.backsurf, NULL) != DD_OK) {                  if (ddraw2->CreateSurface(&ddsd, &ddraw.backsurf, NULL) != DD_OK) {
Line 519  void scrnmng_topwinui(void) { Line 510  void scrnmng_topwinui(void) {
                 if (scrnmng.flag & SCRNFLAG_FULLSCREEN) {                  if (scrnmng.flag & SCRNFLAG_FULLSCREEN) {
                         ddraw.primsurf->SetClipper(ddraw.clipper);                          ddraw.primsurf->SetClipper(ddraw.clipper);
                 }                  }
   #ifndef __GNUC__
                 WINNLSEnableIME(hWndMain, TRUE);                  WINNLSEnableIME(hWndMain, TRUE);
   #endif
         }          }
 }  }
   
 void scrnmng_clearwinui(void) {  void scrnmng_clearwinui(void) {
   
         if ((ddraw.cliping > 0) && (!(--ddraw.cliping))) {          if ((ddraw.cliping > 0) && (!(--ddraw.cliping))) {
   #ifndef __GNUC__
                 WINNLSEnableIME(hWndMain, FALSE);                  WINNLSEnableIME(hWndMain, FALSE);
   #endif
                 if (scrnmng.flag & SCRNFLAG_FULLSCREEN) {                  if (scrnmng.flag & SCRNFLAG_FULLSCREEN) {
                         ddraw.primsurf->SetClipper(0);                          ddraw.primsurf->SetClipper(0);
                 }                  }
Line 545  void scrnmng_setwidth(int posx, int widt Line 540  void scrnmng_setwidth(int posx, int widt
   
 void scrnmng_setextend(int extend) {  void scrnmng_setextend(int extend) {
   
         scrnstat.extend = extend;          (void)extend;
         renewalclientsize();  
 }  }
   
 void scrnmng_setheight(int posy, int height) {  void scrnmng_setheight(int posy, int height) {

Removed from v.1.1  
changed lines
  Added in v.1.3


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