Release 961102
Sat Nov 2 12:50:40 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [files/dos_fs.c] Added long file name mask in DOSFS_FindNext(). * [loader/pe_image.c] [loader/task.c] Moved Win32 task startup into TASK_CallToStart(). * [objects/dc.c] Fixed SetDCState() for memory DC (thanks to Constantine Sapuntzakis for spotting this one). * [windows/winpos.c] Fixed WINPOS_ForceXWindowRaise() to preserve correct Z-order. * [*/*] Added Win32 version for many graphics functions. Thu Oct 31 10:00:18 1996 Huw D. M. Davies <h.davies1@physics.oxford.ac.uk> * [controls/button.c] BUTTON_CheckAutoRadioButton() unchecks only auto radio buttons. * [controls/edit.c] EM_GETSEL result should have HIWORD(result) >= LOWORD(result); old EDIT_EM_GetSel() renamed to EDIT_GetSel(). * [windows/dialog.c] DS_LOCALEDIT is a dialog style not an edit style. * [windows/winproc.c] Stop stack trashing when wndPtr->text == NULL. Tue Oct 29 23:35:04 1996 Constantine P Sapuntzakis <csapuntz@mit.edu> * [windows/dce.c] GetDCEx32 - The determination of whether to use the DC cache or not should be independent of DCX_USESTYLE. Sat Oct 26 17:31:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk> * [files/directory.c] Added errno.h to #includes * [tools/makedep.c] Close files once they have been processed.
This commit is contained in:
parent
530ee8407c
commit
139a4b1874
15
ANNOUNCE
15
ANNOUNCE
|
@ -1,13 +1,12 @@
|
||||||
This is release 961023 of Wine, the MS Windows emulator. This is still a
|
This is release 961102 of Wine, the MS Windows emulator. This is still a
|
||||||
developer's only release. There are many bugs and many unimplemented API
|
developer's only release. There are many bugs and many unimplemented API
|
||||||
features. Most applications still do not work correctly.
|
features. Most applications still do not work correctly.
|
||||||
|
|
||||||
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
|
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
|
||||||
forget to include a ChangeLog entry.
|
forget to include a ChangeLog entry.
|
||||||
|
|
||||||
WHAT'S NEW with Wine-961023: (see ChangeLog for details)
|
WHAT'S NEW with Wine-961102: (see ChangeLog for details)
|
||||||
- Printer driver fixes.
|
- More Win32 functions.
|
||||||
- Faster make depend.
|
|
||||||
- Lots of bug fixes.
|
- Lots of bug fixes.
|
||||||
|
|
||||||
See the README file in the distribution for installation instructions.
|
See the README file in the distribution for installation instructions.
|
||||||
|
@ -16,10 +15,10 @@ Because of lags created by using mirror, this message may reach you before
|
||||||
the release is available at the ftp sites. The sources will be available
|
the release is available at the ftp sites. The sources will be available
|
||||||
from the following locations:
|
from the following locations:
|
||||||
|
|
||||||
ftp://sunsite.unc.edu/pub/Linux/ALPHA/wine/development/Wine-961023.tar.gz
|
ftp://sunsite.unc.edu/pub/Linux/ALPHA/wine/development/Wine-961102.tar.gz
|
||||||
ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/Wine-961023.tar.gz
|
ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/Wine-961102.tar.gz
|
||||||
ftp://ftp.infomagic.com/pub/mirrors/linux/wine/development/Wine-961023.tar.gz
|
ftp://ftp.infomagic.com/pub/mirrors/linux/wine/development/Wine-961102.tar.gz
|
||||||
ftp://aris.com/pub/linux/ALPHA/Wine/development/Wine-961023.tar.gz
|
ftp://aris.com/pub/linux/ALPHA/Wine/development/Wine-961102.tar.gz
|
||||||
|
|
||||||
It should also be available from any site that mirrors tsx-11 or sunsite.
|
It should also be available from any site that mirrors tsx-11 or sunsite.
|
||||||
|
|
||||||
|
|
48
ChangeLog
48
ChangeLog
|
@ -1,3 +1,51 @@
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Sat Nov 2 12:50:40 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
|
||||||
|
|
||||||
|
* [files/dos_fs.c]
|
||||||
|
Added long file name mask in DOSFS_FindNext().
|
||||||
|
|
||||||
|
* [loader/pe_image.c] [loader/task.c]
|
||||||
|
Moved Win32 task startup into TASK_CallToStart().
|
||||||
|
|
||||||
|
* [objects/dc.c]
|
||||||
|
Fixed SetDCState() for memory DC (thanks to Constantine
|
||||||
|
Sapuntzakis for spotting this one).
|
||||||
|
|
||||||
|
* [windows/winpos.c]
|
||||||
|
Fixed WINPOS_ForceXWindowRaise() to preserve correct Z-order.
|
||||||
|
|
||||||
|
* [*/*]
|
||||||
|
Added Win32 version for many graphics functions.
|
||||||
|
|
||||||
|
Thu Oct 31 10:00:18 1996 Huw D. M. Davies <h.davies1@physics.oxford.ac.uk>
|
||||||
|
|
||||||
|
* [controls/button.c]
|
||||||
|
BUTTON_CheckAutoRadioButton() unchecks only auto radio buttons.
|
||||||
|
|
||||||
|
* [controls/edit.c]
|
||||||
|
EM_GETSEL result should have HIWORD(result) >= LOWORD(result); old
|
||||||
|
EDIT_EM_GetSel() renamed to EDIT_GetSel().
|
||||||
|
|
||||||
|
* [windows/dialog.c]
|
||||||
|
DS_LOCALEDIT is a dialog style not an edit style.
|
||||||
|
|
||||||
|
* [windows/winproc.c]
|
||||||
|
Stop stack trashing when wndPtr->text == NULL.
|
||||||
|
|
||||||
|
Tue Oct 29 23:35:04 1996 Constantine P Sapuntzakis <csapuntz@mit.edu>
|
||||||
|
|
||||||
|
* [windows/dce.c]
|
||||||
|
GetDCEx32 - The determination of whether to use the DC cache or
|
||||||
|
not should be independent of DCX_USESTYLE.
|
||||||
|
|
||||||
|
Sat Oct 26 17:31:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
|
||||||
|
|
||||||
|
* [files/directory.c]
|
||||||
|
Added errno.h to #includes
|
||||||
|
|
||||||
|
* [tools/makedep.c]
|
||||||
|
Close files once they have been processed.
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
Tue Oct 22 20:09:52 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
|
Tue Oct 22 20:09:52 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Global rules shared by all makefiles
|
# Global rules shared by all makefiles -*-Makefile-*-
|
||||||
#
|
#
|
||||||
# Each individual makefile should define the following variables:
|
# Each individual makefile should define the following variables:
|
||||||
# TOPSRCDIR : top-level source directory
|
# TOPSRCDIR : top-level source directory
|
||||||
|
@ -36,7 +36,7 @@ WINERC = $(TOPOBJDIR)/rc/winerc
|
||||||
SUBMAKE = $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)'
|
SUBMAKE = $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)'
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
OBJS = $(C_SRCS:.c=.o) $(GEN_C_SRCS:.c=.o) $(ASM_SRCS:.S=.o) $(EXTRA_OBJS)
|
OBJS = $(GEN_C_SRCS:.c=.o) $(C_SRCS:.c=.o) $(ASM_SRCS:.S=.o) $(EXTRA_OBJS)
|
||||||
|
|
||||||
# Implicit rules
|
# Implicit rules
|
||||||
|
|
||||||
|
|
|
@ -252,38 +252,38 @@ LRESULT ButtonWndProc(HWND32 hWnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam)
|
||||||
static void PB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
static void PB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
{
|
{
|
||||||
RECT32 rc;
|
RECT32 rc;
|
||||||
HPEN16 hOldPen;
|
HPEN32 hOldPen;
|
||||||
HBRUSH16 hOldBrush;
|
HBRUSH32 hOldBrush;
|
||||||
BUTTONINFO *infoPtr = (BUTTONINFO *)wndPtr->wExtra;
|
BUTTONINFO *infoPtr = (BUTTONINFO *)wndPtr->wExtra;
|
||||||
|
|
||||||
GetClientRect32( wndPtr->hwndSelf, &rc );
|
GetClientRect32( wndPtr->hwndSelf, &rc );
|
||||||
|
|
||||||
/* Send WM_CTLCOLOR to allow changing the font (the colors are fixed) */
|
/* Send WM_CTLCOLOR to allow changing the font (the colors are fixed) */
|
||||||
if (infoPtr->hFont) SelectObject( hDC, infoPtr->hFont );
|
if (infoPtr->hFont) SelectObject32( hDC, infoPtr->hFont );
|
||||||
BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
||||||
hOldPen = (HPEN16)SelectObject(hDC, sysColorObjects.hpenWindowFrame);
|
hOldPen = (HPEN32)SelectObject32(hDC, sysColorObjects.hpenWindowFrame);
|
||||||
hOldBrush = (HBRUSH16)SelectObject(hDC, sysColorObjects.hbrushBtnFace);
|
hOldBrush = (HBRUSH32)SelectObject32(hDC, sysColorObjects.hbrushBtnFace);
|
||||||
SetBkMode(hDC, TRANSPARENT);
|
SetBkMode(hDC, TRANSPARENT);
|
||||||
Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom);
|
Rectangle32(hDC, rc.left, rc.top, rc.right, rc.bottom);
|
||||||
if (action == ODA_DRAWENTIRE)
|
if (action == ODA_DRAWENTIRE)
|
||||||
{
|
{
|
||||||
SetPixel( hDC, rc.left, rc.top, GetSysColor(COLOR_WINDOW) );
|
SetPixel32( hDC, rc.left, rc.top, GetSysColor(COLOR_WINDOW) );
|
||||||
SetPixel( hDC, rc.left, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
|
SetPixel32( hDC, rc.left, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
|
||||||
SetPixel( hDC, rc.right-1, rc.top, GetSysColor(COLOR_WINDOW) );
|
SetPixel32( hDC, rc.right-1, rc.top, GetSysColor(COLOR_WINDOW) );
|
||||||
SetPixel( hDC, rc.right-1, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
|
SetPixel32( hDC, rc.right-1, rc.bottom-1, GetSysColor(COLOR_WINDOW) );
|
||||||
}
|
}
|
||||||
InflateRect32( &rc, -1, -1 );
|
InflateRect32( &rc, -1, -1 );
|
||||||
|
|
||||||
if ((wndPtr->dwStyle & 0x000f) == BS_DEFPUSHBUTTON)
|
if ((wndPtr->dwStyle & 0x000f) == BS_DEFPUSHBUTTON)
|
||||||
{
|
{
|
||||||
Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom);
|
Rectangle32(hDC, rc.left, rc.top, rc.right, rc.bottom);
|
||||||
InflateRect32( &rc, -1, -1 );
|
InflateRect32( &rc, -1, -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (infoPtr->state & BUTTON_HIGHLIGHTED)
|
if (infoPtr->state & BUTTON_HIGHLIGHTED)
|
||||||
{
|
{
|
||||||
/* draw button shadow: */
|
/* draw button shadow: */
|
||||||
SelectObject(hDC, sysColorObjects.hbrushBtnShadow );
|
SelectObject32(hDC, sysColorObjects.hbrushBtnShadow );
|
||||||
PatBlt(hDC, rc.left, rc.top, 1, rc.bottom-rc.top, PATCOPY );
|
PatBlt(hDC, rc.left, rc.top, 1, rc.bottom-rc.top, PATCOPY );
|
||||||
PatBlt(hDC, rc.left, rc.top, rc.right-rc.left, 1, PATCOPY );
|
PatBlt(hDC, rc.left, rc.top, rc.right-rc.left, 1, PATCOPY );
|
||||||
rc.left += 2; /* To position the text down and right */
|
rc.left += 2; /* To position the text down and right */
|
||||||
|
@ -324,8 +324,8 @@ static void PB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectObject( hDC, hOldPen );
|
SelectObject32( hDC, hOldPen );
|
||||||
SelectObject( hDC, hOldBrush );
|
SelectObject32( hDC, hOldBrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -349,17 +349,17 @@ void PB_PaintGrayOnGray(HDC32 hDC,HFONT32 hFont,RECT32 *rc,char *text)
|
||||||
rect.left=(rc->right-rect.right)/2; /* for centering text bitmap */
|
rect.left=(rc->right-rect.right)/2; /* for centering text bitmap */
|
||||||
rect.top=(rc->bottom-rect.bottom)/2;
|
rect.top=(rc->bottom-rect.bottom)/2;
|
||||||
hbmMem = CreateCompatibleBitmap( hDC,rect.right,rect.bottom);
|
hbmMem = CreateCompatibleBitmap( hDC,rect.right,rect.bottom);
|
||||||
SelectObject( hdcMem, hbmMem);
|
SelectObject32( hdcMem, hbmMem);
|
||||||
hBr = SelectObject( hdcMem,CreatePatternBrush(hbm));
|
hBr = SelectObject32( hdcMem, CreatePatternBrush32(hbm) );
|
||||||
DeleteObject( hbm);
|
DeleteObject32( hbm );
|
||||||
PatBlt( hdcMem,0,0,rect.right,rect.bottom,WHITENESS);
|
PatBlt( hdcMem,0,0,rect.right,rect.bottom,WHITENESS);
|
||||||
if (hFont) SelectObject( hdcMem, hFont);
|
if (hFont) SelectObject32( hdcMem, hFont);
|
||||||
DrawText32A( hdcMem, text, -1, &rc2, DT_SINGLELINE);
|
DrawText32A( hdcMem, text, -1, &rc2, DT_SINGLELINE);
|
||||||
PatBlt( hdcMem,0,0,rect.right,rect.bottom,0xFA0089);
|
PatBlt( hdcMem,0,0,rect.right,rect.bottom,0xFA0089);
|
||||||
DeleteObject( SelectObject( hdcMem,hBr));
|
DeleteObject32( SelectObject32( hdcMem,hBr) );
|
||||||
BitBlt( hDC,rect.left,rect.top,rect.right,rect.bottom,hdcMem,0,0,0x990000);
|
BitBlt( hDC,rect.left,rect.top,rect.right,rect.bottom,hdcMem,0,0,0x990000);
|
||||||
DeleteDC( hdcMem);
|
DeleteDC( hdcMem);
|
||||||
DeleteObject( hbmMem);
|
DeleteObject32( hbmMem );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@ static void CB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
|
|
||||||
GetClientRect16(wndPtr->hwndSelf, &rc);
|
GetClientRect16(wndPtr->hwndSelf, &rc);
|
||||||
|
|
||||||
if (infoPtr->hFont) SelectObject( hDC, infoPtr->hFont );
|
if (infoPtr->hFont) SelectObject32( hDC, infoPtr->hFont );
|
||||||
hBrush = BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
hBrush = BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
||||||
if (action == ODA_DRAWENTIRE) FillRect16( hDC, &rc, hBrush );
|
if (action == ODA_DRAWENTIRE) FillRect16( hDC, &rc, hBrush );
|
||||||
|
|
||||||
|
@ -427,7 +427,7 @@ static void CB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* BUTTON_CheckAutoRadioButton
|
* BUTTON_CheckAutoRadioButton
|
||||||
*
|
*
|
||||||
* wndPtr is checked, uncheck everything else in group
|
* wndPtr is checked, uncheck every other auto radio button in group
|
||||||
*/
|
*/
|
||||||
static void BUTTON_CheckAutoRadioButton( WND *wndPtr )
|
static void BUTTON_CheckAutoRadioButton( WND *wndPtr )
|
||||||
{
|
{
|
||||||
|
@ -435,8 +435,9 @@ static void BUTTON_CheckAutoRadioButton( WND *wndPtr )
|
||||||
if (!(wndPtr->dwStyle & WS_CHILD)) return;
|
if (!(wndPtr->dwStyle & WS_CHILD)) return;
|
||||||
parent = wndPtr->parent->hwndSelf;
|
parent = wndPtr->parent->hwndSelf;
|
||||||
for(sibling = GetNextDlgGroupItem32( parent, wndPtr->hwndSelf, FALSE );
|
for(sibling = GetNextDlgGroupItem32( parent, wndPtr->hwndSelf, FALSE );
|
||||||
sibling != wndPtr->hwndSelf;
|
sibling != wndPtr->hwndSelf && sibling != 0;
|
||||||
sibling = GetNextDlgGroupItem32( parent, sibling, FALSE ))
|
sibling = GetNextDlgGroupItem32( parent, sibling, FALSE ))
|
||||||
|
if((WIN_FindWndPtr(sibling)->dwStyle & 0x0f) == BS_AUTORADIOBUTTON)
|
||||||
SendMessage32A( sibling, BM_SETCHECK32, BUTTON_UNCHECKED, 0 );
|
SendMessage32A( sibling, BM_SETCHECK32, BUTTON_UNCHECKED, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -452,17 +453,17 @@ static void GB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
|
|
||||||
if (action != ODA_DRAWENTIRE) return;
|
if (action != ODA_DRAWENTIRE) return;
|
||||||
|
|
||||||
if (infoPtr->hFont) SelectObject( hDC, infoPtr->hFont );
|
if (infoPtr->hFont) SelectObject32( hDC, infoPtr->hFont );
|
||||||
BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
||||||
SelectObject( hDC, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hDC, sysColorObjects.hpenWindowFrame );
|
||||||
|
|
||||||
GetClientRect16( wndPtr->hwndSelf, &rc);
|
GetClientRect16( wndPtr->hwndSelf, &rc);
|
||||||
|
|
||||||
MoveTo( hDC, rc.left, rc.top+2 );
|
MoveTo( hDC, rc.left, rc.top+2 );
|
||||||
LineTo( hDC, rc.right-1, rc.top+2 );
|
LineTo32( hDC, rc.right-1, rc.top+2 );
|
||||||
LineTo( hDC, rc.right-1, rc.bottom-1 );
|
LineTo32( hDC, rc.right-1, rc.bottom-1 );
|
||||||
LineTo( hDC, rc.left, rc.bottom-1 );
|
LineTo32( hDC, rc.left, rc.bottom-1 );
|
||||||
LineTo( hDC, rc.left, rc.top+2 );
|
LineTo32( hDC, rc.left, rc.top+2 );
|
||||||
|
|
||||||
if (!wndPtr->text) return;
|
if (!wndPtr->text) return;
|
||||||
if (wndPtr->dwStyle & WS_DISABLED)
|
if (wndPtr->dwStyle & WS_DISABLED)
|
||||||
|
@ -486,7 +487,7 @@ static void UB_Paint( WND *wndPtr, HDC32 hDC, WORD action )
|
||||||
|
|
||||||
GetClientRect16( wndPtr->hwndSelf, &rc);
|
GetClientRect16( wndPtr->hwndSelf, &rc);
|
||||||
|
|
||||||
if (infoPtr->hFont) SelectObject( hDC, infoPtr->hFont );
|
if (infoPtr->hFont) SelectObject32( hDC, infoPtr->hFont );
|
||||||
hBrush = BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
hBrush = BUTTON_SEND_CTLCOLOR( wndPtr, hDC );
|
||||||
FillRect16( hDC, &rc, hBrush );
|
FillRect16( hDC, &rc, hBrush );
|
||||||
|
|
||||||
|
|
|
@ -224,8 +224,8 @@ static LRESULT CBPaint(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
|
LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
|
||||||
LPLISTSTRUCT lpls;
|
LPLISTSTRUCT lpls;
|
||||||
PAINTSTRUCT16 ps;
|
PAINTSTRUCT16 ps;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
HFONT16 hOldFont;
|
HFONT32 hOldFont;
|
||||||
HDC16 hdc;
|
HDC16 hdc;
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ static LRESULT CBPaint(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
|
|
||||||
if (hComboBit != 0 && !IsRectEmpty16(&lphc->RectButton))
|
if (hComboBit != 0 && !IsRectEmpty16(&lphc->RectButton))
|
||||||
{
|
{
|
||||||
Rectangle(hdc,lphc->RectButton.left-1,lphc->RectButton.top-1,
|
Rectangle32(hdc,lphc->RectButton.left-1,lphc->RectButton.top-1,
|
||||||
lphc->RectButton.right+1,lphc->RectButton.bottom+1);
|
lphc->RectButton.right+1,lphc->RectButton.bottom+1);
|
||||||
{
|
{
|
||||||
RECT32 r;
|
RECT32 r;
|
||||||
|
@ -257,10 +257,10 @@ static LRESULT CBPaint(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
hOldFont = SelectObject(hdc, lphl->hFont);
|
hOldFont = SelectObject32(hdc, lphl->hFont);
|
||||||
|
|
||||||
hBrush = SendMessage32A( lphl->hParent, WM_CTLCOLORLISTBOX, hdc, hwnd );
|
hBrush = SendMessage32A( lphl->hParent, WM_CTLCOLORLISTBOX, hdc, hwnd );
|
||||||
if (hBrush == 0) hBrush = GetStockObject(WHITE_BRUSH);
|
if (hBrush == 0) hBrush = GetStockObject32(WHITE_BRUSH);
|
||||||
|
|
||||||
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
||||||
if (lpls != NULL) {
|
if (lpls != NULL) {
|
||||||
|
@ -270,7 +270,7 @@ static LRESULT CBPaint(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
ListBoxDrawItem (hwnd,lphl, hdc, lpls, &rect, ODA_FOCUS, ODS_FOCUS);
|
ListBoxDrawItem (hwnd,lphl, hdc, lpls, &rect, ODA_FOCUS, ODS_FOCUS);
|
||||||
}
|
}
|
||||||
else FillRect16(hdc, &rect, hBrush);
|
else FillRect16(hdc, &rect, hBrush);
|
||||||
SelectObject(hdc,hOldFont);
|
SelectObject32(hdc,hOldFont);
|
||||||
EndPaint16(hwnd, &ps);
|
EndPaint16(hwnd, &ps);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -556,7 +556,7 @@ static LRESULT CBSetFont(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
|
LPHEADCOMBO lphc = ComboGetStorageHeader(hwnd);
|
||||||
|
|
||||||
if (wParam == 0)
|
if (wParam == 0)
|
||||||
lphl->hFont = GetStockObject(SYSTEM_FONT);
|
lphl->hFont = GetStockObject32(SYSTEM_FONT);
|
||||||
else
|
else
|
||||||
lphl->hFont = (HFONT16)wParam;
|
lphl->hFont = (HFONT16)wParam;
|
||||||
if (lphc->hWndEdit)
|
if (lphc->hWndEdit)
|
||||||
|
@ -914,8 +914,8 @@ static LRESULT CBLPaint( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
|
LPHEADLIST lphl = CLBoxGetListHeader(hwnd);
|
||||||
LPLISTSTRUCT lpls;
|
LPLISTSTRUCT lpls;
|
||||||
PAINTSTRUCT16 ps;
|
PAINTSTRUCT16 ps;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
HFONT16 hOldFont;
|
HFONT32 hOldFont;
|
||||||
WND * wndPtr = WIN_FindWndPtr(hwnd);
|
WND * wndPtr = WIN_FindWndPtr(hwnd);
|
||||||
HWND combohwnd = CLBoxGetCombo(hwnd);
|
HWND combohwnd = CLBoxGetCombo(hwnd);
|
||||||
HDC16 hdc;
|
HDC16 hdc;
|
||||||
|
@ -930,9 +930,9 @@ static LRESULT CBLPaint( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
hOldFont = SelectObject(hdc, lphl->hFont);
|
hOldFont = SelectObject32(hdc, lphl->hFont);
|
||||||
/* listboxes should be white */
|
/* listboxes should be white */
|
||||||
hBrush = GetStockObject(WHITE_BRUSH);
|
hBrush = GetStockObject32(WHITE_BRUSH);
|
||||||
|
|
||||||
GetClientRect16(hwnd, &rect);
|
GetClientRect16(hwnd, &rect);
|
||||||
FillRect16(hdc, &rect, hBrush);
|
FillRect16(hdc, &rect, hBrush);
|
||||||
|
@ -977,7 +977,7 @@ static LRESULT CBLPaint( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
if (wndPtr->dwStyle & WS_VSCROLL)
|
if (wndPtr->dwStyle & WS_VSCROLL)
|
||||||
SetScrollRange32(hwnd, SB_VERT, 0, ListMaxFirstVisible(lphl), TRUE);
|
SetScrollRange32(hwnd, SB_VERT, 0, ListMaxFirstVisible(lphl), TRUE);
|
||||||
|
|
||||||
SelectObject(hdc,hOldFont);
|
SelectObject32(hdc,hOldFont);
|
||||||
EndPaint16( hwnd, &ps );
|
EndPaint16( hwnd, &ps );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ static LRESULT DESKTOP_DoEraseBkgnd( HWND32 hwnd, HDC32 hdc,
|
||||||
RECT32 rect;
|
RECT32 rect;
|
||||||
WND* Wnd = WIN_FindWndPtr( hwnd );
|
WND* Wnd = WIN_FindWndPtr( hwnd );
|
||||||
|
|
||||||
if( Wnd->hrgnUpdate > 1 ) DeleteObject( Wnd->hrgnUpdate );
|
if (Wnd->hrgnUpdate > 1) DeleteObject32( Wnd->hrgnUpdate );
|
||||||
Wnd->hrgnUpdate = 0;
|
Wnd->hrgnUpdate = 0;
|
||||||
|
|
||||||
GetClientRect32( hwnd, &rect );
|
GetClientRect32( hwnd, &rect );
|
||||||
|
@ -208,7 +208,7 @@ BOOL32 SetDeskWallPaper32( LPCSTR filename )
|
||||||
hdc = GetDC32( 0 );
|
hdc = GetDC32( 0 );
|
||||||
hbitmap = DESKTOP_LoadBitmap( hdc, filename );
|
hbitmap = DESKTOP_LoadBitmap( hdc, filename );
|
||||||
ReleaseDC32( 0, hdc );
|
ReleaseDC32( 0, hdc );
|
||||||
if (infoPtr->hbitmapWallPaper) DeleteObject( infoPtr->hbitmapWallPaper );
|
if (infoPtr->hbitmapWallPaper) DeleteObject32( infoPtr->hbitmapWallPaper );
|
||||||
infoPtr->hbitmapWallPaper = hbitmap;
|
infoPtr->hbitmapWallPaper = hbitmap;
|
||||||
infoPtr->fTileWallPaper = GetProfileInt( "desktop", "TileWallPaper", 0 );
|
infoPtr->fTileWallPaper = GetProfileInt( "desktop", "TileWallPaper", 0 );
|
||||||
if (hbitmap)
|
if (hbitmap)
|
||||||
|
@ -233,7 +233,7 @@ BOOL32 DESKTOP_SetPattern( LPCSTR pattern )
|
||||||
DESKTOPINFO *infoPtr = (DESKTOPINFO *)wndPtr->wExtra;
|
DESKTOPINFO *infoPtr = (DESKTOPINFO *)wndPtr->wExtra;
|
||||||
int pat[8];
|
int pat[8];
|
||||||
|
|
||||||
if (infoPtr->hbrushPattern) DeleteObject( infoPtr->hbrushPattern );
|
if (infoPtr->hbrushPattern) DeleteObject32( infoPtr->hbrushPattern );
|
||||||
memset( pat, 0, sizeof(pat) );
|
memset( pat, 0, sizeof(pat) );
|
||||||
if (pattern && sscanf( pattern, " %d %d %d %d %d %d %d %d",
|
if (pattern && sscanf( pattern, " %d %d %d %d %d %d %d %d",
|
||||||
&pat[0], &pat[1], &pat[2], &pat[3],
|
&pat[0], &pat[1], &pat[2], &pat[3],
|
||||||
|
@ -245,10 +245,10 @@ BOOL32 DESKTOP_SetPattern( LPCSTR pattern )
|
||||||
|
|
||||||
for (i = 0; i < 8; i++) pattern[i] = pat[i] & 0xffff;
|
for (i = 0; i < 8; i++) pattern[i] = pat[i] & 0xffff;
|
||||||
hbitmap = CreateBitmap( 8, 8, 1, 1, (LPSTR)pattern );
|
hbitmap = CreateBitmap( 8, 8, 1, 1, (LPSTR)pattern );
|
||||||
infoPtr->hbrushPattern = CreatePatternBrush( hbitmap );
|
infoPtr->hbrushPattern = CreatePatternBrush32( hbitmap );
|
||||||
DeleteObject( hbitmap );
|
DeleteObject32( hbitmap );
|
||||||
}
|
}
|
||||||
else infoPtr->hbrushPattern = CreateSolidBrush( GetSysColor(COLOR_BACKGROUND) );
|
else infoPtr->hbrushPattern = CreateSolidBrush32( GetSysColor(COLOR_BACKGROUND) );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
160
controls/edit.c
160
controls/edit.c
|
@ -119,6 +119,7 @@ static char * EDIT_GetPointer(WND *wndPtr);
|
||||||
static char * EDIT_GetPasswordPointer(WND *wndPtr);
|
static char * EDIT_GetPasswordPointer(WND *wndPtr);
|
||||||
static LRESULT EDIT_GetRect(WND *wndPtr, WPARAM32 wParam, LPARAM lParam);
|
static LRESULT EDIT_GetRect(WND *wndPtr, WPARAM32 wParam, LPARAM lParam);
|
||||||
static BOOL EDIT_GetRedraw(WND *wndPtr);
|
static BOOL EDIT_GetRedraw(WND *wndPtr);
|
||||||
|
static LRESULT EDIT_GetSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam);
|
||||||
static UINT EDIT_GetTextWidth(WND *wndPtr);
|
static UINT EDIT_GetTextWidth(WND *wndPtr);
|
||||||
static UINT EDIT_GetVisibleLineCount(WND *wndPtr);
|
static UINT EDIT_GetVisibleLineCount(WND *wndPtr);
|
||||||
static UINT EDIT_GetWndWidth(WND *wndPtr);
|
static UINT EDIT_GetWndWidth(WND *wndPtr);
|
||||||
|
@ -511,7 +512,7 @@ static void EDIT_BuildLineDefs(WND *wndPtr)
|
||||||
int ww = EDIT_GetWndWidth(wndPtr);
|
int ww = EDIT_GetWndWidth(wndPtr);
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HFONT16 hFont;
|
HFONT16 hFont;
|
||||||
HFONT16 oldFont = 0;
|
HFONT32 oldFont = 0;
|
||||||
char *start, *cp;
|
char *start, *cp;
|
||||||
int prev, next;
|
int prev, next;
|
||||||
int width;
|
int width;
|
||||||
|
@ -520,8 +521,7 @@ static void EDIT_BuildLineDefs(WND *wndPtr)
|
||||||
|
|
||||||
hdc = GetDC32(wndPtr->hwndSelf);
|
hdc = GetDC32(wndPtr->hwndSelf);
|
||||||
hFont = (HFONT16)EDIT_WM_GetFont(wndPtr, 0, 0L);
|
hFont = (HFONT16)EDIT_WM_GetFont(wndPtr, 0, 0L);
|
||||||
if (hFont)
|
if (hFont) oldFont = SelectObject32(hdc, hFont);
|
||||||
oldFont = SelectObject(hdc, hFont);
|
|
||||||
|
|
||||||
if (!IsMultiLine(wndPtr)) {
|
if (!IsMultiLine(wndPtr)) {
|
||||||
es->LineCount = 1;
|
es->LineCount = 1;
|
||||||
|
@ -602,8 +602,7 @@ static void EDIT_BuildLineDefs(WND *wndPtr)
|
||||||
}
|
}
|
||||||
} while (*start || (ending == END_SOFT) || (ending == END_HARD));
|
} while (*start || (ending == END_SOFT) || (ending == END_HARD));
|
||||||
}
|
}
|
||||||
if (hFont)
|
if (hFont) SelectObject32(hdc, oldFont);
|
||||||
SelectObject(hdc, oldFont);
|
|
||||||
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
||||||
|
|
||||||
free(text);
|
free(text);
|
||||||
|
@ -819,6 +818,22 @@ static BOOL EDIT_GetRedraw(WND *wndPtr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* EDIT_GetSel
|
||||||
|
*
|
||||||
|
* Beware: This is not the function called on EM_GETSEL.
|
||||||
|
* It returns the start in the low word and the end in the high word.
|
||||||
|
* NB s can be greater than e.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static LRESULT EDIT_GetSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
||||||
|
|
||||||
|
return MAKELONG(es->SelStart, es->SelEnd);
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* EDIT_GetTextWidth
|
* EDIT_GetTextWidth
|
||||||
|
@ -999,8 +1014,8 @@ static BOOL EDIT_MakeFit(WND *wndPtr, UINT size)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveBackward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveBackward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
|
||||||
|
@ -1024,8 +1039,8 @@ static void EDIT_MoveBackward(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveDownward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveDownward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
@ -1050,8 +1065,8 @@ static void EDIT_MoveDownward(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveEnd(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveEnd(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
@ -1070,8 +1085,8 @@ static void EDIT_MoveEnd(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveForward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveForward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
||||||
|
@ -1097,8 +1112,8 @@ static void EDIT_MoveForward(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveHome(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveHome(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
|
||||||
|
@ -1116,8 +1131,8 @@ static void EDIT_MoveHome(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MovePageDown(WND *wndPtr, BOOL extend)
|
static void EDIT_MovePageDown(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
@ -1142,8 +1157,8 @@ static void EDIT_MovePageDown(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MovePageUp(WND *wndPtr, BOOL extend)
|
static void EDIT_MovePageUp(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
INT x;
|
INT x;
|
||||||
|
@ -1167,8 +1182,8 @@ static void EDIT_MovePageUp(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveUpward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveUpward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
INT x;
|
INT x;
|
||||||
|
@ -1192,8 +1207,8 @@ static void EDIT_MoveUpward(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveWordBackward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveWordBackward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
|
@ -1222,8 +1237,8 @@ static void EDIT_MoveWordBackward(WND *wndPtr, BOOL extend)
|
||||||
*/
|
*/
|
||||||
static void EDIT_MoveWordForward(WND *wndPtr, BOOL extend)
|
static void EDIT_MoveWordForward(WND *wndPtr, BOOL extend)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, e, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
||||||
|
@ -1270,8 +1285,8 @@ static void EDIT_PaintLine(WND *wndPtr, HDC32 hdc, UINT line, BOOL rev)
|
||||||
y = EDIT_WndYFromLine(wndPtr, line);
|
y = EDIT_WndYFromLine(wndPtr, line);
|
||||||
li = (UINT)EDIT_EM_LineIndex(wndPtr, line, 0L);
|
li = (UINT)EDIT_EM_LineIndex(wndPtr, line, 0L);
|
||||||
ll = (UINT)EDIT_EM_LineLength(wndPtr, li, 0L);
|
ll = (UINT)EDIT_EM_LineLength(wndPtr, li, 0L);
|
||||||
s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
ORDER_UINT(s, e);
|
ORDER_UINT(s, e);
|
||||||
s = MIN(li + ll, MAX(li, s));
|
s = MIN(li + ll, MAX(li, s));
|
||||||
e = MIN(li + ll, MAX(li, e));
|
e = MIN(li + ll, MAX(li, e));
|
||||||
|
@ -1357,8 +1372,8 @@ static LRESULT EDIT_ReplaceSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
const char *str = (char *)lParam;
|
const char *str = (char *)lParam;
|
||||||
int strl = strlen(str);
|
int strl = strlen(str);
|
||||||
UINT tl = (UINT)EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
UINT tl = (UINT)EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
int i;
|
int i;
|
||||||
char *p;
|
char *p;
|
||||||
char *text;
|
char *text;
|
||||||
|
@ -1373,7 +1388,7 @@ static LRESULT EDIT_ReplaceSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
EDIT_WM_SetRedraw(wndPtr, FALSE, 0L);
|
EDIT_WM_SetRedraw(wndPtr, FALSE, 0L);
|
||||||
EDIT_WM_Clear(wndPtr, 0, 0L);
|
EDIT_WM_Clear(wndPtr, 0, 0L);
|
||||||
tl = EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
tl = EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
||||||
e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
text = EDIT_GetPointer(wndPtr);
|
text = EDIT_GetPointer(wndPtr);
|
||||||
for (p = text + tl ; p >= text + e ; p--)
|
for (p = text + tl ; p >= text + e ; p--)
|
||||||
p[strl] = p[0];
|
p[strl] = p[0];
|
||||||
|
@ -1406,7 +1421,7 @@ static LRESULT EDIT_ReplaceSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static void EDIT_ScrollIntoView(WND *wndPtr)
|
static void EDIT_ScrollIntoView(WND *wndPtr)
|
||||||
{
|
{
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
UINT fv = (UINT)EDIT_EM_GetFirstVisibleLine(wndPtr, 0, 0L);
|
UINT fv = (UINT)EDIT_EM_GetFirstVisibleLine(wndPtr, 0, 0L);
|
||||||
|
@ -1449,7 +1464,7 @@ static INT EDIT_WndXFromCol(WND *wndPtr, UINT line, UINT col)
|
||||||
INT ret;
|
INT ret;
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HFONT16 hFont;
|
HFONT16 hFont;
|
||||||
HFONT16 oldFont = 0;
|
HFONT32 oldFont = 0;
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, line, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, line, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, li, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, li, 0L);
|
||||||
|
@ -1457,15 +1472,13 @@ static INT EDIT_WndXFromCol(WND *wndPtr, UINT line, UINT col)
|
||||||
|
|
||||||
hdc = GetDC32(wndPtr->hwndSelf);
|
hdc = GetDC32(wndPtr->hwndSelf);
|
||||||
hFont = (HFONT16)EDIT_WM_GetFont(wndPtr, 0, 0L);
|
hFont = (HFONT16)EDIT_WM_GetFont(wndPtr, 0, 0L);
|
||||||
if (hFont)
|
if (hFont) oldFont = SelectObject32(hdc, hFont);
|
||||||
oldFont = SelectObject(hdc, hFont);
|
|
||||||
line = MAX(0, MIN(line, lc - 1));
|
line = MAX(0, MIN(line, lc - 1));
|
||||||
col = MIN(col, ll);
|
col = MIN(col, ll);
|
||||||
ret = LOWORD(GetTabbedTextExtent(hdc,
|
ret = LOWORD(GetTabbedTextExtent(hdc,
|
||||||
text + li, col,
|
text + li, col,
|
||||||
es->NumTabStops, es->TabStops)) - xoff;
|
es->NumTabStops, es->TabStops)) - xoff;
|
||||||
if (hFont)
|
if (hFont) SelectObject32(hdc, oldFont);
|
||||||
SelectObject(hdc, oldFont);
|
|
||||||
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
||||||
free(text);
|
free(text);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1699,12 +1712,17 @@ static LRESULT EDIT_EM_GetRect(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*
|
*
|
||||||
* EM_GETSEL
|
* EM_GETSEL
|
||||||
*
|
*
|
||||||
|
* Returns the ordered selection range so that
|
||||||
|
* LOWORD(result) < HIWORD(result)
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_EM_GetSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_EM_GetSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
|
|
||||||
return MAKELONG(es->SelStart, es->SelEnd);
|
ORDER_UINT(s, e);
|
||||||
|
return MAKELONG(s, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1771,7 +1789,7 @@ static LRESULT EDIT_EM_LineFromChar(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
if (!IsMultiLine(wndPtr))
|
if (!IsMultiLine(wndPtr))
|
||||||
return 0L;
|
return 0L;
|
||||||
if ((INT)wParam == -1)
|
if ((INT)wParam == -1)
|
||||||
wParam = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
wParam = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
l = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L) - 1;
|
l = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L) - 1;
|
||||||
while ((UINT)EDIT_EM_LineIndex(wndPtr, l, 0L) > (UINT)wParam)
|
while ((UINT)EDIT_EM_LineIndex(wndPtr, l, 0L) > (UINT)wParam)
|
||||||
l--;
|
l--;
|
||||||
|
@ -1792,7 +1810,7 @@ static LRESULT EDIT_EM_LineIndex(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
||||||
|
|
||||||
if ((INT)wParam == -1) {
|
if ((INT)wParam == -1) {
|
||||||
e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
l = lc - 1;
|
l = lc - 1;
|
||||||
while (es->LineDefs[l].offset > e)
|
while (es->LineDefs[l].offset > e)
|
||||||
l--;
|
l--;
|
||||||
|
@ -1820,8 +1838,8 @@ static LRESULT EDIT_EM_LineLength(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
if (!IsMultiLine(wndPtr))
|
if (!IsMultiLine(wndPtr))
|
||||||
return (LRESULT)es->LineDefs[0].length;
|
return (LRESULT)es->LineDefs[0].length;
|
||||||
if ((INT)wParam == -1) {
|
if ((INT)wParam == -1) {
|
||||||
s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
sl = (UINT)EDIT_EM_LineFromChar(wndPtr, s, 0L);
|
sl = (UINT)EDIT_EM_LineFromChar(wndPtr, s, 0L);
|
||||||
el = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
el = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
return (LRESULT)(s - es->LineDefs[sl].offset +
|
return (LRESULT)(s - es->LineDefs[sl].offset +
|
||||||
|
@ -2013,8 +2031,8 @@ static LRESULT EDIT_EM_SetSel(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
||||||
UINT ns = LOWORD(lParam);
|
UINT ns = LOWORD(lParam);
|
||||||
UINT ne = HIWORD(lParam);
|
UINT ne = HIWORD(lParam);
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT el;
|
UINT el;
|
||||||
UINT eli;
|
UINT eli;
|
||||||
UINT tl = (UINT)EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
UINT tl = (UINT)EDIT_WM_GetTextLength(wndPtr, 0, 0L);
|
||||||
|
@ -2148,8 +2166,8 @@ static LRESULT EDIT_WM_Char(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_WM_Clear(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_Clear(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
char *text;
|
char *text;
|
||||||
BOOL redraw;
|
BOOL redraw;
|
||||||
|
|
||||||
|
@ -2180,8 +2198,8 @@ static LRESULT EDIT_WM_Clear(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_WM_Copy(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_Copy(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
HGLOBAL16 hdst;
|
HGLOBAL16 hdst;
|
||||||
char *text;
|
char *text;
|
||||||
char *dst;
|
char *dst;
|
||||||
|
@ -2317,15 +2335,15 @@ static LRESULT EDIT_WM_Enable(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_WM_EraseBkGnd(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_EraseBkGnd(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
RECT16 rc;
|
RECT16 rc;
|
||||||
|
|
||||||
hBrush = (HBRUSH16)EDIT_SEND_CTLCOLOR(wndPtr, wParam);
|
hBrush = (HBRUSH16)EDIT_SEND_CTLCOLOR(wndPtr, wParam);
|
||||||
if (!hBrush)
|
if (!hBrush) hBrush = (HBRUSH32)GetStockObject32(WHITE_BRUSH);
|
||||||
hBrush = (HBRUSH16)GetStockObject(WHITE_BRUSH);
|
|
||||||
|
|
||||||
GetClientRect16(wndPtr->hwndSelf, &rc);
|
GetClientRect16(wndPtr->hwndSelf, &rc);
|
||||||
IntersectClipRect((HDC16)wParam, rc.left, rc.top, rc.right, rc.bottom);
|
IntersectClipRect16( (HDC16)wParam, rc.left, rc.top,
|
||||||
|
rc.right, rc.bottom);
|
||||||
GetClipBox16((HDC16)wParam, &rc);
|
GetClipBox16((HDC16)wParam, &rc);
|
||||||
/*
|
/*
|
||||||
* FIXME: specs say that we should UnrealizeObject() the brush,
|
* FIXME: specs say that we should UnrealizeObject() the brush,
|
||||||
|
@ -2468,8 +2486,8 @@ static LRESULT EDIT_WM_HScroll(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_WM_KeyDown(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_KeyDown(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
BOOL shift;
|
BOOL shift;
|
||||||
BOOL control;
|
BOOL control;
|
||||||
|
|
||||||
|
@ -2560,8 +2578,8 @@ static LRESULT EDIT_WM_KillFocus(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
|
|
||||||
DestroyCaret();
|
DestroyCaret();
|
||||||
if(!(wndPtr->dwStyle & ES_NOHIDESEL)) {
|
if(!(wndPtr->dwStyle & ES_NOHIDESEL)) {
|
||||||
s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
EDIT_InvalidateText(wndPtr, s, e);
|
EDIT_InvalidateText(wndPtr, s, e);
|
||||||
}
|
}
|
||||||
EDIT_NOTIFY_PARENT(wndPtr, EN_KILLFOCUS);
|
EDIT_NOTIFY_PARENT(wndPtr, EN_KILLFOCUS);
|
||||||
|
@ -2579,7 +2597,7 @@ static LRESULT EDIT_WM_KillFocus(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
static LRESULT EDIT_WM_LButtonDblClk(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_LButtonDblClk(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
UINT s;
|
UINT s;
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
UINT l = (UINT)EDIT_EM_LineFromChar(wndPtr, e, 0L);
|
||||||
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
UINT li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
UINT ll = (UINT)EDIT_EM_LineLength(wndPtr, e, 0L);
|
||||||
|
@ -2617,7 +2635,7 @@ static LRESULT EDIT_WM_LButtonDown(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
e = li + c;
|
e = li + c;
|
||||||
if (GetKeyState(VK_SHIFT) & 0x8000)
|
if (GetKeyState(VK_SHIFT) & 0x8000)
|
||||||
s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
else
|
else
|
||||||
s = e;
|
s = e;
|
||||||
EDIT_EM_SetSel(wndPtr, 0, MAKELPARAM(s, e));
|
EDIT_EM_SetSel(wndPtr, 0, MAKELPARAM(s, e));
|
||||||
|
@ -2663,7 +2681,7 @@ static LRESULT EDIT_WM_MouseMove(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
l = MIN(fv + vlc - 1, MAX(fv, l));
|
l = MIN(fv + vlc - 1, MAX(fv, l));
|
||||||
x = MIN(EDIT_GetWndWidth(wndPtr), MAX(0, x));
|
x = MIN(EDIT_GetWndWidth(wndPtr), MAX(0, x));
|
||||||
c = EDIT_ColFromWndX(wndPtr, l, x);
|
c = EDIT_ColFromWndX(wndPtr, l, x);
|
||||||
s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
li = (UINT)EDIT_EM_LineIndex(wndPtr, l, 0L);
|
||||||
EDIT_EM_SetSel(wndPtr, 1, MAKELPARAM(s, li + c));
|
EDIT_EM_SetSel(wndPtr, 1, MAKELPARAM(s, li + c));
|
||||||
}
|
}
|
||||||
|
@ -2685,7 +2703,7 @@ static LRESULT EDIT_WM_Paint(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
UINT lc = (UINT)EDIT_EM_GetLineCount(wndPtr, 0, 0L);
|
||||||
HDC16 hdc;
|
HDC16 hdc;
|
||||||
HFONT16 hFont;
|
HFONT16 hFont;
|
||||||
HFONT16 oldFont = 0;
|
HFONT32 oldFont = 0;
|
||||||
RECT16 rc;
|
RECT16 rc;
|
||||||
RECT16 rcLine;
|
RECT16 rcLine;
|
||||||
RECT16 rcRgn;
|
RECT16 rcRgn;
|
||||||
|
@ -2695,10 +2713,9 @@ static LRESULT EDIT_WM_Paint(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
|
|
||||||
hdc = BeginPaint16(wndPtr->hwndSelf, &ps);
|
hdc = BeginPaint16(wndPtr->hwndSelf, &ps);
|
||||||
GetClientRect16(wndPtr->hwndSelf, &rc);
|
GetClientRect16(wndPtr->hwndSelf, &rc);
|
||||||
IntersectClipRect(hdc, rc.left, rc.top, rc.right, rc.bottom);
|
IntersectClipRect16( hdc, rc.left, rc.top, rc.right, rc.bottom );
|
||||||
hFont = EDIT_WM_GetFont(wndPtr, 0, 0L);
|
hFont = EDIT_WM_GetFont(wndPtr, 0, 0L);
|
||||||
if (hFont)
|
if (hFont) oldFont = SelectObject32(hdc, hFont);
|
||||||
oldFont = SelectObject(hdc, hFont);
|
|
||||||
EDIT_SEND_CTLCOLOR(wndPtr, hdc);
|
EDIT_SEND_CTLCOLOR(wndPtr, hdc);
|
||||||
if (!IsWindowEnabled(wndPtr->hwndSelf))
|
if (!IsWindowEnabled(wndPtr->hwndSelf))
|
||||||
SetTextColor(hdc, GetSysColor(COLOR_GRAYTEXT));
|
SetTextColor(hdc, GetSysColor(COLOR_GRAYTEXT));
|
||||||
|
@ -2708,8 +2725,7 @@ static LRESULT EDIT_WM_Paint(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
if (IntersectRect16(&rc, &rcRgn, &rcLine))
|
if (IntersectRect16(&rc, &rcRgn, &rcLine))
|
||||||
EDIT_PaintLine(wndPtr, hdc, i, rev);
|
EDIT_PaintLine(wndPtr, hdc, i, rev);
|
||||||
}
|
}
|
||||||
if (hFont)
|
if (hFont) SelectObject32(hdc, oldFont);
|
||||||
SelectObject(hdc, oldFont);
|
|
||||||
EndPaint16(wndPtr->hwndSelf, &ps);
|
EndPaint16(wndPtr->hwndSelf, &ps);
|
||||||
return 0L;
|
return 0L;
|
||||||
}
|
}
|
||||||
|
@ -2758,8 +2774,8 @@ static LRESULT EDIT_WM_SetCursor(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
*/
|
*/
|
||||||
static LRESULT EDIT_WM_SetFocus(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
static LRESULT EDIT_WM_SetFocus(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
UINT s = LOWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT s = LOWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
UINT e = HIWORD(EDIT_EM_GetSel(wndPtr, 0, 0L));
|
UINT e = HIWORD(EDIT_GetSel(wndPtr, 0, 0L));
|
||||||
|
|
||||||
CreateCaret(wndPtr->hwndSelf, 0, 2, EDIT_GetLineHeight(wndPtr));
|
CreateCaret(wndPtr->hwndSelf, 0, 2, EDIT_GetLineHeight(wndPtr));
|
||||||
EDIT_EM_SetSel(wndPtr, 1, MAKELPARAM(s, e));
|
EDIT_EM_SetSel(wndPtr, 1, MAKELPARAM(s, e));
|
||||||
|
@ -2780,19 +2796,17 @@ static LRESULT EDIT_WM_SetFont(WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
TEXTMETRIC16 tm;
|
TEXTMETRIC16 tm;
|
||||||
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
EDITSTATE *es = EDITSTATEPTR(wndPtr);
|
||||||
LPARAM sel = EDIT_EM_GetSel(wndPtr, 0, 0L);
|
LPARAM sel = EDIT_GetSel(wndPtr, 0, 0L);
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HFONT16 oldFont = 0;
|
HFONT32 oldFont = 0;
|
||||||
|
|
||||||
es->hFont = (HFONT16)wParam;
|
es->hFont = (HFONT16)wParam;
|
||||||
hdc = GetDC32(wndPtr->hwndSelf);
|
hdc = GetDC32(wndPtr->hwndSelf);
|
||||||
if (es->hFont)
|
if (es->hFont) oldFont = SelectObject32(hdc, es->hFont);
|
||||||
oldFont = SelectObject(hdc, es->hFont);
|
|
||||||
GetTextMetrics16(hdc, &tm);
|
GetTextMetrics16(hdc, &tm);
|
||||||
es->LineHeight = HIWORD(GetTextExtent(hdc, "X", 1));
|
es->LineHeight = HIWORD(GetTextExtent(hdc, "X", 1));
|
||||||
es->AveCharWidth = tm.tmAveCharWidth;
|
es->AveCharWidth = tm.tmAveCharWidth;
|
||||||
if (es->hFont)
|
if (es->hFont) SelectObject32(hdc, oldFont);
|
||||||
SelectObject(hdc, oldFont);
|
|
||||||
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
ReleaseDC32(wndPtr->hwndSelf, hdc);
|
||||||
EDIT_BuildLineDefs(wndPtr);
|
EDIT_BuildLineDefs(wndPtr);
|
||||||
if ((BOOL)lParam && EDIT_GetRedraw(wndPtr))
|
if ((BOOL)lParam && EDIT_GetRedraw(wndPtr))
|
||||||
|
|
|
@ -74,7 +74,7 @@ void CreateListBoxStruct(HWND hwnd, WORD CtlType, LONG styles, HWND parent)
|
||||||
lphl->bRedrawFlag = TRUE;
|
lphl->bRedrawFlag = TRUE;
|
||||||
lphl->iNumStops = 0;
|
lphl->iNumStops = 0;
|
||||||
lphl->TabStops = NULL;
|
lphl->TabStops = NULL;
|
||||||
lphl->hFont = GetStockObject(SYSTEM_FONT);
|
lphl->hFont = GetStockObject32(SYSTEM_FONT);
|
||||||
lphl->hSelf = hwnd;
|
lphl->hSelf = hwnd;
|
||||||
if (CtlType==ODT_COMBOBOX) /* use the "faked" style for COMBOLBOX */
|
if (CtlType==ODT_COMBOBOX) /* use the "faked" style for COMBOLBOX */
|
||||||
/* LBS_SORT instead CBS_SORT e.g. */
|
/* LBS_SORT instead CBS_SORT e.g. */
|
||||||
|
@ -227,7 +227,7 @@ void ListBoxDrawItem(HWND hwnd, LPHEADLIST lphl, HDC16 hdc, LPLISTSTRUCT lpls,
|
||||||
|
|
||||||
if (itemState != 0) {
|
if (itemState != 0) {
|
||||||
dwOldTextColor = SetTextColor(hdc, 0x00FFFFFFL);
|
dwOldTextColor = SetTextColor(hdc, 0x00FFFFFFL);
|
||||||
FillRect16(hdc, rect, GetStockObject(BLACK_BRUSH));
|
FillRect16(hdc, rect, GetStockObject32(BLACK_BRUSH));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lphl->dwStyle & LBS_USETABSTOPS) {
|
if (lphl->dwStyle & LBS_USETABSTOPS) {
|
||||||
|
@ -783,7 +783,8 @@ LONG ListBoxDirectory(LPHEADLIST lphl, UINT attrib, LPCSTR filespec)
|
||||||
|
|
||||||
skip = ret = 0;
|
skip = ret = 0;
|
||||||
attrib &= ~FA_LABEL;
|
attrib &= ~FA_LABEL;
|
||||||
while ((count = DOSFS_FindNext( path, mask, 0, attrib, skip, &entry )) > 0)
|
while ((count = DOSFS_FindNext( path, mask, NULL, 0,
|
||||||
|
attrib, skip, &entry )) > 0)
|
||||||
{
|
{
|
||||||
skip += count;
|
skip += count;
|
||||||
if (entry.attr & FA_DIRECTORY)
|
if (entry.attr & FA_DIRECTORY)
|
||||||
|
@ -1407,7 +1408,7 @@ static LONG LBSetFont(HWND hwnd, WPARAM16 wParam, LPARAM lParam)
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
|
|
||||||
if (wParam == 0)
|
if (wParam == 0)
|
||||||
lphl->hFont = GetStockObject(SYSTEM_FONT);
|
lphl->hFont = GetStockObject32(SYSTEM_FONT);
|
||||||
else
|
else
|
||||||
lphl->hFont = (HFONT16)wParam;
|
lphl->hFont = (HFONT16)wParam;
|
||||||
|
|
||||||
|
@ -1436,7 +1437,7 @@ static LONG LBPaint(HWND hwnd, WORD wParam, LONG lParam)
|
||||||
LPLISTSTRUCT lpls;
|
LPLISTSTRUCT lpls;
|
||||||
PAINTSTRUCT16 ps;
|
PAINTSTRUCT16 ps;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH16 hBrush;
|
||||||
HFONT16 hOldFont;
|
HFONT32 hOldFont;
|
||||||
HDC16 hdc = BeginPaint16( hwnd, &ps );
|
HDC16 hdc = BeginPaint16( hwnd, &ps );
|
||||||
DC *dc = (DC *)GDI_GetObjPtr(hdc, DC_MAGIC);
|
DC *dc = (DC *)GDI_GetObjPtr(hdc, DC_MAGIC);
|
||||||
RECT16 rect, paintRect, scratchRect;
|
RECT16 rect, paintRect, scratchRect;
|
||||||
|
@ -1453,11 +1454,11 @@ static LONG LBPaint(HWND hwnd, WORD wParam, LONG lParam)
|
||||||
GetClientRect16(hwnd, &rect);
|
GetClientRect16(hwnd, &rect);
|
||||||
IntersectRect16(&paintRect,&rect,&paintRect);
|
IntersectRect16(&paintRect,&rect,&paintRect);
|
||||||
|
|
||||||
hOldFont = SelectObject(hdc, lphl->hFont);
|
hOldFont = SelectObject32(hdc, lphl->hFont);
|
||||||
|
|
||||||
hBrush = (HBRUSH16)SendMessage32A( lphl->hParent, WM_CTLCOLORLISTBOX,
|
hBrush = (HBRUSH16)SendMessage32A( lphl->hParent, WM_CTLCOLORLISTBOX,
|
||||||
(WPARAM32)hdc, (LPARAM)hwnd);
|
(WPARAM32)hdc, (LPARAM)hwnd);
|
||||||
if (hBrush == 0) hBrush = GetStockObject(WHITE_BRUSH);
|
if (hBrush == 0) hBrush = GetStockObject32(WHITE_BRUSH);
|
||||||
|
|
||||||
FillRect16(hdc, &rect, hBrush);
|
FillRect16(hdc, &rect, hBrush);
|
||||||
|
|
||||||
|
@ -1520,7 +1521,7 @@ static LONG LBPaint(HWND hwnd, WORD wParam, LONG lParam)
|
||||||
lpls = lpls->lpNext;
|
lpls = lpls->lpNext;
|
||||||
}
|
}
|
||||||
ListBoxUpdateWindow(hwnd,lphl,FALSE);
|
ListBoxUpdateWindow(hwnd,lphl,FALSE);
|
||||||
SelectObject(hdc,hOldFont);
|
SelectObject32(hdc,hOldFont);
|
||||||
EndPaint16( hwnd, &ps );
|
EndPaint16( hwnd, &ps );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1537,14 +1538,14 @@ static LONG LBSetFocus(HWND hwnd, WORD wParam, LONG lParam)
|
||||||
if( lphl->ItemsCount && lphl->ItemFocused != -1)
|
if( lphl->ItemsCount && lphl->ItemFocused != -1)
|
||||||
{
|
{
|
||||||
HDC32 hDC = GetDC32(hwnd);
|
HDC32 hDC = GetDC32(hwnd);
|
||||||
HFONT16 hOldFont = SelectObject(hDC, lphl->hFont);
|
HFONT32 hOldFont = SelectObject32(hDC, lphl->hFont);
|
||||||
LPLISTSTRUCT lpls;
|
LPLISTSTRUCT lpls;
|
||||||
|
|
||||||
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
||||||
lpls->itemState |= ODS_FOCUS;
|
lpls->itemState |= ODS_FOCUS;
|
||||||
|
|
||||||
ListBoxDrawItem(hwnd,lphl,hDC,lpls,&lpls->itemRect, ODA_FOCUS, lpls->itemState);
|
ListBoxDrawItem(hwnd,lphl,hDC,lpls,&lpls->itemRect, ODA_FOCUS, lpls->itemState);
|
||||||
SelectObject(hDC, hOldFont);
|
SelectObject32(hDC, hOldFont);
|
||||||
ReleaseDC32(hwnd,hDC);
|
ReleaseDC32(hwnd,hDC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1567,14 +1568,14 @@ static LONG LBKillFocus(HWND hwnd, WORD wParam, LONG lParam)
|
||||||
if( lphl->ItemFocused != -1 )
|
if( lphl->ItemFocused != -1 )
|
||||||
{
|
{
|
||||||
HDC32 hDC = GetDC32(hwnd);
|
HDC32 hDC = GetDC32(hwnd);
|
||||||
HFONT16 hOldFont = SelectObject(hDC, lphl->hFont);
|
HFONT32 hOldFont = SelectObject32(hDC, lphl->hFont);
|
||||||
LPLISTSTRUCT lpls;
|
LPLISTSTRUCT lpls;
|
||||||
|
|
||||||
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
lpls = ListBoxGetItem(lphl,lphl->ItemFocused);
|
||||||
lpls->itemState &= ~ODS_FOCUS;
|
lpls->itemState &= ~ODS_FOCUS;
|
||||||
|
|
||||||
ListBoxDrawItem(hwnd,lphl,hDC,lpls,&lpls->itemRect, ODA_FOCUS, lpls->itemState);
|
ListBoxDrawItem(hwnd,lphl,hDC,lpls,&lpls->itemRect, ODA_FOCUS, lpls->itemState);
|
||||||
SelectObject(hDC, hOldFont);
|
SelectObject32(hDC, hOldFont);
|
||||||
ReleaseDC32(hwnd,hDC);
|
ReleaseDC32(hwnd,hDC);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -591,15 +591,15 @@ static void MENU_DrawMenuItem( HWND hwnd, HDC32 hdc, MENUITEM *lpitem,
|
||||||
|
|
||||||
if (!menuBar && (lpitem->item_flags & MF_MENUBARBREAK))
|
if (!menuBar && (lpitem->item_flags & MF_MENUBARBREAK))
|
||||||
{
|
{
|
||||||
SelectObject( hdc, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hdc, sysColorObjects.hpenWindowFrame );
|
||||||
MoveTo( hdc, rect.left, 0 );
|
MoveTo( hdc, rect.left, 0 );
|
||||||
LineTo( hdc, rect.left, height );
|
LineTo32( hdc, rect.left, height );
|
||||||
}
|
}
|
||||||
if (lpitem->item_flags & MF_SEPARATOR)
|
if (lpitem->item_flags & MF_SEPARATOR)
|
||||||
{
|
{
|
||||||
SelectObject( hdc, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hdc, sysColorObjects.hpenWindowFrame );
|
||||||
MoveTo( hdc, rect.left, rect.top + SEPARATOR_HEIGHT/2 );
|
MoveTo( hdc, rect.left, rect.top + SEPARATOR_HEIGHT/2 );
|
||||||
LineTo( hdc, rect.right, rect.top + SEPARATOR_HEIGHT/2 );
|
LineTo32( hdc, rect.right, rect.top + SEPARATOR_HEIGHT/2 );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -741,9 +741,9 @@ UINT MENU_DrawMenuBar( HDC32 hDC, LPRECT16 lprect, HWND hwnd,
|
||||||
if (suppress_draw) return lppop->Height;
|
if (suppress_draw) return lppop->Height;
|
||||||
|
|
||||||
FillRect16(hDC, lprect, sysColorObjects.hbrushMenu );
|
FillRect16(hDC, lprect, sysColorObjects.hbrushMenu );
|
||||||
SelectObject( hDC, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hDC, sysColorObjects.hpenWindowFrame );
|
||||||
MoveTo( hDC, lprect->left, lprect->bottom );
|
MoveTo( hDC, lprect->left, lprect->bottom );
|
||||||
LineTo( hDC, lprect->right, lprect->bottom );
|
LineTo32( hDC, lprect->right, lprect->bottom );
|
||||||
|
|
||||||
if (lppop->nItems == 0) return SYSMETRICS_CYMENU;
|
if (lppop->nItems == 0) return SYSMETRICS_CYMENU;
|
||||||
for (i = 0; i < lppop->nItems; i++)
|
for (i = 0; i < lppop->nItems; i++)
|
||||||
|
|
|
@ -312,7 +312,7 @@ static void SCROLL_DrawArrows( HDC32 hdc, SCROLLBAR_INFO *infoPtr,
|
||||||
BOOL32 top_pressed, BOOL32 bottom_pressed )
|
BOOL32 top_pressed, BOOL32 bottom_pressed )
|
||||||
{
|
{
|
||||||
HDC32 hdcMem = CreateCompatibleDC( hdc );
|
HDC32 hdcMem = CreateCompatibleDC( hdc );
|
||||||
HBITMAP32 hbmpPrev = SelectObject( hdcMem, vertical ?
|
HBITMAP32 hbmpPrev = SelectObject32( hdcMem, vertical ?
|
||||||
TOP_ARROW(infoPtr->flags, top_pressed)
|
TOP_ARROW(infoPtr->flags, top_pressed)
|
||||||
: LEFT_ARROW(infoPtr->flags, top_pressed));
|
: LEFT_ARROW(infoPtr->flags, top_pressed));
|
||||||
SetStretchBltMode( hdc, STRETCH_DELETESCANS );
|
SetStretchBltMode( hdc, STRETCH_DELETESCANS );
|
||||||
|
@ -323,7 +323,7 @@ static void SCROLL_DrawArrows( HDC32 hdc, SCROLLBAR_INFO *infoPtr,
|
||||||
SYSMETRICS_CXVSCROLL + 1, SYSMETRICS_CYHSCROLL + 1,
|
SYSMETRICS_CXVSCROLL + 1, SYSMETRICS_CYHSCROLL + 1,
|
||||||
SRCCOPY );
|
SRCCOPY );
|
||||||
|
|
||||||
SelectObject( hdcMem, vertical ?
|
SelectObject32( hdcMem, vertical ?
|
||||||
BOTTOM_ARROW( infoPtr->flags, bottom_pressed )
|
BOTTOM_ARROW( infoPtr->flags, bottom_pressed )
|
||||||
: RIGHT_ARROW( infoPtr->flags, bottom_pressed ) );
|
: RIGHT_ARROW( infoPtr->flags, bottom_pressed ) );
|
||||||
if (vertical)
|
if (vertical)
|
||||||
|
@ -338,7 +338,7 @@ static void SCROLL_DrawArrows( HDC32 hdc, SCROLLBAR_INFO *infoPtr,
|
||||||
hdcMem, 0, 0,
|
hdcMem, 0, 0,
|
||||||
SYSMETRICS_CXVSCROLL + 1, SYSMETRICS_CYHSCROLL + 1,
|
SYSMETRICS_CXVSCROLL + 1, SYSMETRICS_CYHSCROLL + 1,
|
||||||
SRCCOPY );
|
SRCCOPY );
|
||||||
SelectObject( hdcMem, hbmpPrev );
|
SelectObject32( hdcMem, hbmpPrev );
|
||||||
DeleteDC( hdcMem );
|
DeleteDC( hdcMem );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,11 +389,11 @@ static void SCROLL_DrawInterior( HWND32 hwnd, HDC32 hdc, INT32 nBar,
|
||||||
|
|
||||||
/* Select the correct brush and pen */
|
/* Select the correct brush and pen */
|
||||||
|
|
||||||
SelectObject( hdc, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hdc, sysColorObjects.hpenWindowFrame );
|
||||||
if ((flags & ESB_DISABLE_BOTH) == ESB_DISABLE_BOTH)
|
if ((flags & ESB_DISABLE_BOTH) == ESB_DISABLE_BOTH)
|
||||||
{
|
{
|
||||||
/* This ought to be the color of the parent window */
|
/* This ought to be the color of the parent window */
|
||||||
SelectObject( hdc, sysColorObjects.hbrushWindow );
|
SelectObject32( hdc, sysColorObjects.hbrushWindow );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -401,9 +401,9 @@ static void SCROLL_DrawInterior( HWND32 hwnd, HDC32 hdc, INT32 nBar,
|
||||||
{
|
{
|
||||||
HBRUSH32 hbrush = SendMessage32A(GetParent32(hwnd),
|
HBRUSH32 hbrush = SendMessage32A(GetParent32(hwnd),
|
||||||
WM_CTLCOLORSCROLLBAR, hdc, hwnd );
|
WM_CTLCOLORSCROLLBAR, hdc, hwnd );
|
||||||
SelectObject( hdc, hbrush );
|
SelectObject32( hdc, hbrush );
|
||||||
}
|
}
|
||||||
else SelectObject( hdc, sysColorObjects.hbrushScrollbar );
|
else SelectObject32( hdc, sysColorObjects.hbrushScrollbar );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate the scroll rectangle */
|
/* Calculate the scroll rectangle */
|
||||||
|
@ -423,10 +423,10 @@ static void SCROLL_DrawInterior( HWND32 hwnd, HDC32 hdc, INT32 nBar,
|
||||||
/* Draw the scroll bar frame */
|
/* Draw the scroll bar frame */
|
||||||
|
|
||||||
MoveTo( hdc, r.left, r.top );
|
MoveTo( hdc, r.left, r.top );
|
||||||
LineTo( hdc, r.right-1, r.top );
|
LineTo32( hdc, r.right-1, r.top );
|
||||||
LineTo( hdc, r.right-1, r.bottom-1 );
|
LineTo32( hdc, r.right-1, r.bottom-1 );
|
||||||
LineTo( hdc, r.left, r.bottom-1 );
|
LineTo32( hdc, r.left, r.bottom-1 );
|
||||||
LineTo( hdc, r.left, r.top );
|
LineTo32( hdc, r.left, r.top );
|
||||||
|
|
||||||
/* Draw the scroll rectangles and thumb */
|
/* Draw the scroll rectangles and thumb */
|
||||||
|
|
||||||
|
@ -466,8 +466,8 @@ static void SCROLL_DrawInterior( HWND32 hwnd, HDC32 hdc, INT32 nBar,
|
||||||
|
|
||||||
/* Draw the thumb */
|
/* Draw the thumb */
|
||||||
|
|
||||||
SelectObject( hdc, sysColorObjects.hbrushBtnFace );
|
SelectObject32( hdc, sysColorObjects.hbrushBtnFace );
|
||||||
Rectangle( hdc, r.left, r.top, r.right, r.bottom );
|
Rectangle32( hdc, r.left, r.top, r.right, r.bottom );
|
||||||
InflateRect32( &r, -1, -1 );
|
InflateRect32( &r, -1, -1 );
|
||||||
GRAPH_DrawReliefRect( hdc, &r, 1, 2, FALSE );
|
GRAPH_DrawReliefRect( hdc, &r, 1, 2, FALSE );
|
||||||
if (SCROLL_MovingThumb &&
|
if (SCROLL_MovingThumb &&
|
||||||
|
|
|
@ -220,10 +220,10 @@ static void STATIC_PaintTextfn( WND *wndPtr, HDC32 hdc )
|
||||||
if (style & SS_NOPREFIX)
|
if (style & SS_NOPREFIX)
|
||||||
wFormat |= DT_NOPREFIX;
|
wFormat |= DT_NOPREFIX;
|
||||||
|
|
||||||
if (infoPtr->hFont) SelectObject( hdc, infoPtr->hFont );
|
if (infoPtr->hFont) SelectObject32( hdc, infoPtr->hFont );
|
||||||
hBrush = SendMessage32A( GetParent32(wndPtr->hwndSelf), WM_CTLCOLORSTATIC,
|
hBrush = SendMessage32A( GetParent32(wndPtr->hwndSelf), WM_CTLCOLORSTATIC,
|
||||||
hdc, wndPtr->hwndSelf );
|
hdc, wndPtr->hwndSelf );
|
||||||
if (!hBrush) hBrush = GetStockObject(WHITE_BRUSH);
|
if (!hBrush) hBrush = GetStockObject32(WHITE_BRUSH);
|
||||||
FillRect16(hdc, &rc, hBrush);
|
FillRect16(hdc, &rc, hBrush);
|
||||||
if (wndPtr->text) DrawText16( hdc, wndPtr->text, -1, &rc, wFormat );
|
if (wndPtr->text) DrawText16( hdc, wndPtr->text, -1, &rc, wFormat );
|
||||||
}
|
}
|
||||||
|
@ -231,40 +231,40 @@ static void STATIC_PaintTextfn( WND *wndPtr, HDC32 hdc )
|
||||||
static void STATIC_PaintRectfn( WND *wndPtr, HDC32 hdc )
|
static void STATIC_PaintRectfn( WND *wndPtr, HDC32 hdc )
|
||||||
{
|
{
|
||||||
RECT16 rc;
|
RECT16 rc;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
|
|
||||||
GetClientRect16( wndPtr->hwndSelf, &rc);
|
GetClientRect16( wndPtr->hwndSelf, &rc);
|
||||||
|
|
||||||
switch (wndPtr->dwStyle & 0x0f)
|
switch (wndPtr->dwStyle & 0x0f)
|
||||||
{
|
{
|
||||||
case SS_BLACKRECT:
|
case SS_BLACKRECT:
|
||||||
hBrush = CreateSolidBrush(color_windowframe);
|
hBrush = CreateSolidBrush32(color_windowframe);
|
||||||
FillRect16( hdc, &rc, hBrush );
|
FillRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
case SS_GRAYRECT:
|
case SS_GRAYRECT:
|
||||||
hBrush = CreateSolidBrush(color_background);
|
hBrush = CreateSolidBrush32(color_background);
|
||||||
FillRect16( hdc, &rc, hBrush );
|
FillRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
case SS_WHITERECT:
|
case SS_WHITERECT:
|
||||||
hBrush = CreateSolidBrush(color_window);
|
hBrush = CreateSolidBrush32(color_window);
|
||||||
FillRect16( hdc, &rc, hBrush );
|
FillRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
case SS_BLACKFRAME:
|
case SS_BLACKFRAME:
|
||||||
hBrush = CreateSolidBrush(color_windowframe);
|
hBrush = CreateSolidBrush32(color_windowframe);
|
||||||
FrameRect16( hdc, &rc, hBrush );
|
FrameRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
case SS_GRAYFRAME:
|
case SS_GRAYFRAME:
|
||||||
hBrush = CreateSolidBrush(color_background);
|
hBrush = CreateSolidBrush32(color_background);
|
||||||
FrameRect16( hdc, &rc, hBrush );
|
FrameRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
case SS_WHITEFRAME:
|
case SS_WHITEFRAME:
|
||||||
hBrush = CreateSolidBrush(color_window);
|
hBrush = CreateSolidBrush32(color_window);
|
||||||
FrameRect16( hdc, &rc, hBrush );
|
FrameRect16( hdc, &rc, hBrush );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DeleteObject( hBrush );
|
DeleteObject32( hBrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,19 +49,19 @@ void DrawStatusText32A( HDC32 hdc, LPRECT32 lprc, LPCSTR text, UINT32 style )
|
||||||
if (style == 0 ||
|
if (style == 0 ||
|
||||||
style == SBT_POPOUT) {
|
style == SBT_POPOUT) {
|
||||||
InflateRect32(&r, -1, -1);
|
InflateRect32(&r, -1, -1);
|
||||||
SelectObject(hdc, sysColorObjects.hbrushScrollbar);
|
SelectObject32(hdc, sysColorObjects.hbrushScrollbar);
|
||||||
Rectangle(hdc, r.left, r.top, r.right, r.bottom);
|
Rectangle32(hdc, r.left, r.top, r.right, r.bottom);
|
||||||
|
|
||||||
/* draw border */
|
/* draw border */
|
||||||
SelectObject(hdc, sysColorObjects.hpenWindowFrame);
|
SelectObject32(hdc, sysColorObjects.hpenWindowFrame);
|
||||||
if (style == 0)
|
if (style == 0)
|
||||||
DrawEdge32(hdc, &r, EDGE_SUNKEN, BF_RECT);
|
DrawEdge32(hdc, &r, EDGE_SUNKEN, BF_RECT);
|
||||||
else
|
else
|
||||||
DrawEdge32(hdc, &r, EDGE_RAISED, BF_RECT);
|
DrawEdge32(hdc, &r, EDGE_RAISED, BF_RECT);
|
||||||
}
|
}
|
||||||
else if (style == SBT_NOBORDERS) {
|
else if (style == SBT_NOBORDERS) {
|
||||||
SelectObject(hdc, sysColorObjects.hbrushScrollbar);
|
SelectObject32(hdc, sysColorObjects.hbrushScrollbar);
|
||||||
Rectangle(hdc, r.left, r.top, r.right, r.bottom);
|
Rectangle32(hdc, r.left, r.top, r.right, r.bottom);
|
||||||
}
|
}
|
||||||
else { /* fixme for SBT_OWNERDRAW, SBT_RTLREADING */
|
else { /* fixme for SBT_OWNERDRAW, SBT_RTLREADING */
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ void DrawStatusText32A( HDC32 hdc, LPRECT32 lprc, LPCSTR text, UINT32 style )
|
||||||
|
|
||||||
/* now draw text */
|
/* now draw text */
|
||||||
if ((style != SBT_OWNERDRAW) && text) {
|
if ((style != SBT_OWNERDRAW) && text) {
|
||||||
SelectObject(hdc, sysColorObjects.hpenWindowText);
|
SelectObject32(hdc, sysColorObjects.hpenWindowText);
|
||||||
oldbkmode = SetBkMode(hdc, TRANSPARENT);
|
oldbkmode = SetBkMode(hdc, TRANSPARENT);
|
||||||
rt = r;
|
rt = r;
|
||||||
rt.left += 3;
|
rt.left += 3;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/* -*-C-*-
|
||||||
* Lexical scanner for command line parsing
|
* Lexical scanner for command line parsing
|
||||||
*
|
*
|
||||||
* Copyright 1993 Eric Youngdale
|
* Copyright 1993 Eric Youngdale
|
||||||
|
@ -26,6 +26,8 @@ void flush_symbols();
|
||||||
|
|
||||||
#endif /* DONT_USE_READLINE */
|
#endif /* DONT_USE_READLINE */
|
||||||
|
|
||||||
|
#define YY_NO_UNPUT
|
||||||
|
|
||||||
static int syntax_error;
|
static int syntax_error;
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "dos_fs.h"
|
#include "dos_fs.h"
|
||||||
|
|
103
files/dos_fs.c
103
files/dos_fs.c
|
@ -244,11 +244,11 @@ const char *DOSFS_ToDosDTAFormat( const char *name )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DOSFS_Match
|
* DOSFS_MatchShort
|
||||||
*
|
*
|
||||||
* Check a DOS file name against a mask (both in FCB format).
|
* Check a DOS file name against a mask (both in FCB format).
|
||||||
*/
|
*/
|
||||||
int DOSFS_Match( const char *mask, const char *name )
|
static int DOSFS_MatchShort( const char *mask, const char *name )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 11; i > 0; i--, mask++, name++)
|
for (i = 11; i > 0; i--, mask++, name++)
|
||||||
|
@ -257,6 +257,40 @@ int DOSFS_Match( const char *mask, const char *name )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DOSFS_MatchLong
|
||||||
|
*
|
||||||
|
* Check a long file name against a mask.
|
||||||
|
*/
|
||||||
|
static int DOSFS_MatchLong( const char *mask, const char *name,
|
||||||
|
int case_sensitive )
|
||||||
|
{
|
||||||
|
while (*name && *mask)
|
||||||
|
{
|
||||||
|
if (*mask == '*')
|
||||||
|
{
|
||||||
|
mask++;
|
||||||
|
while (*mask == '*') mask++; /* Skip consecutive '*' */
|
||||||
|
if (!*mask) return 1;
|
||||||
|
if (case_sensitive) while (*name && (*name != *mask)) name++;
|
||||||
|
else while (*name && (toupper(*name) != toupper(*mask))) name++;
|
||||||
|
if (!*name) return 0;
|
||||||
|
}
|
||||||
|
else if (*mask != '?')
|
||||||
|
{
|
||||||
|
if (case_sensitive)
|
||||||
|
{
|
||||||
|
if (*mask != *name) return 0;
|
||||||
|
}
|
||||||
|
else if (toupper(*mask) != toupper(*name)) return 0;
|
||||||
|
}
|
||||||
|
mask++;
|
||||||
|
name++;
|
||||||
|
}
|
||||||
|
return (!*name && !*mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DOSFS_ToDosDateTime
|
* DOSFS_ToDosDateTime
|
||||||
*
|
*
|
||||||
|
@ -273,6 +307,31 @@ void DOSFS_ToDosDateTime( time_t unixtime, WORD *pDate, WORD *pTime )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DOSFS_UnixTimeToFileTime
|
||||||
|
*
|
||||||
|
* Convert a Unix time to FILETIME format.
|
||||||
|
*/
|
||||||
|
void DOSFS_UnixTimeToFileTime( time_t unixtime, FILETIME *filetime )
|
||||||
|
{
|
||||||
|
/* FIXME :-) */
|
||||||
|
filetime->dwLowDateTime = unixtime;
|
||||||
|
filetime->dwHighDateTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DOSFS_FileTimeToUnixTime
|
||||||
|
*
|
||||||
|
* Convert a FILETIME format to Unix time.
|
||||||
|
*/
|
||||||
|
time_t DOSFS_FileTimeToUnixTime( FILETIME *filetime )
|
||||||
|
{
|
||||||
|
/* FIXME :-) */
|
||||||
|
return filetime->dwLowDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DOSFS_Hash
|
* DOSFS_Hash
|
||||||
*
|
*
|
||||||
|
@ -665,9 +724,12 @@ const char * DOSFS_GetDosTrueName( const char *name, int unix_format )
|
||||||
*
|
*
|
||||||
* Find the next matching file. Return the number of entries read to find
|
* Find the next matching file. Return the number of entries read to find
|
||||||
* the matching one, or 0 if no more entries.
|
* the matching one, or 0 if no more entries.
|
||||||
|
* 'short_mask' is the 8.3 mask (in FCB format), 'long_mask' is the long
|
||||||
|
* file name mask. Either or both can be NULL.
|
||||||
*/
|
*/
|
||||||
int DOSFS_FindNext( const char *path, const char *mask, int drive,
|
int DOSFS_FindNext( const char *path, const char *short_mask,
|
||||||
BYTE attr, int skip, DOS_DIRENT *entry )
|
const char *long_mask, int drive, BYTE attr,
|
||||||
|
int skip, DOS_DIRENT *entry )
|
||||||
{
|
{
|
||||||
static DIR *dir = NULL;
|
static DIR *dir = NULL;
|
||||||
struct dirent *dirent;
|
struct dirent *dirent;
|
||||||
|
@ -714,20 +776,38 @@ int DOSFS_FindNext( const char *path, const char *mask, int drive,
|
||||||
p = buffer + strlen(buffer);
|
p = buffer + strlen(buffer);
|
||||||
attr |= FA_UNUSED | FA_ARCHIVE | FA_RDONLY;
|
attr |= FA_UNUSED | FA_ARCHIVE | FA_RDONLY;
|
||||||
flags = DRIVE_GetFlags( drive );
|
flags = DRIVE_GetFlags( drive );
|
||||||
|
hash_name = NULL;
|
||||||
|
|
||||||
while ((dirent = readdir( dir )) != NULL)
|
while ((dirent = readdir( dir )) != NULL)
|
||||||
{
|
{
|
||||||
if (skip-- > 0) continue;
|
if (skip-- > 0) continue;
|
||||||
count++;
|
count++;
|
||||||
hash_name = DOSFS_Hash( dirent->d_name, TRUE,
|
|
||||||
!(flags & DRIVE_CASE_SENSITIVE) );
|
|
||||||
if (!DOSFS_Match( mask, hash_name )) continue;
|
|
||||||
/* Don't return '.' and '..' in the root of the drive */
|
/* Don't return '.' and '..' in the root of the drive */
|
||||||
if (drive_root && (dirent->d_name[0] == '.') &&
|
if (drive_root && (dirent->d_name[0] == '.') &&
|
||||||
(!dirent->d_name[1] ||
|
(!dirent->d_name[1] ||
|
||||||
((dirent->d_name[1] == '.') && !dirent->d_name[2]))) continue;
|
((dirent->d_name[1] == '.') && !dirent->d_name[2]))) continue;
|
||||||
lstrcpyn32A( p, dirent->d_name, sizeof(buffer) - (int)(p - buffer) );
|
|
||||||
|
|
||||||
|
/* Check the long mask */
|
||||||
|
|
||||||
|
if (long_mask)
|
||||||
|
{
|
||||||
|
if (!DOSFS_MatchLong( long_mask, dirent->d_name,
|
||||||
|
flags & DRIVE_CASE_SENSITIVE )) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check the short mask */
|
||||||
|
|
||||||
|
if (short_mask)
|
||||||
|
{
|
||||||
|
hash_name = DOSFS_Hash( dirent->d_name, TRUE,
|
||||||
|
!(flags & DRIVE_CASE_SENSITIVE) );
|
||||||
|
if (!DOSFS_MatchShort( short_mask, hash_name )) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check the file attributes */
|
||||||
|
|
||||||
|
lstrcpyn32A( p, dirent->d_name, sizeof(buffer) - (int)(p - buffer) );
|
||||||
if (!FILE_Stat( buffer, &entry->attr, &entry->size,
|
if (!FILE_Stat( buffer, &entry->attr, &entry->size,
|
||||||
&entry->date, &entry->time ))
|
&entry->date, &entry->time ))
|
||||||
{
|
{
|
||||||
|
@ -735,6 +815,12 @@ int DOSFS_FindNext( const char *path, const char *mask, int drive,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (entry->attr & ~attr) continue;
|
if (entry->attr & ~attr) continue;
|
||||||
|
|
||||||
|
/* We now have a matching entry; fill the result and return */
|
||||||
|
|
||||||
|
if (!hash_name)
|
||||||
|
hash_name = DOSFS_Hash( dirent->d_name, TRUE,
|
||||||
|
!(flags & DRIVE_CASE_SENSITIVE) );
|
||||||
strcpy( entry->name, hash_name );
|
strcpy( entry->name, hash_name );
|
||||||
lstrcpyn32A( entry->unixname, dirent->d_name, sizeof(entry->unixname));
|
lstrcpyn32A( entry->unixname, dirent->d_name, sizeof(entry->unixname));
|
||||||
if (!(flags & DRIVE_CASE_PRESERVING)) AnsiLower( entry->unixname );
|
if (!(flags & DRIVE_CASE_PRESERVING)) AnsiLower( entry->unixname );
|
||||||
|
@ -778,6 +864,7 @@ DWORD GetShortPathName32W( LPCWSTR longpath, LPWSTR shortpath, DWORD shortlen )
|
||||||
return strlen(dostruename);
|
return strlen(dostruename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetFullPathNameA (KERNEL32.272)
|
* GetFullPathNameA (KERNEL32.272)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -658,7 +658,7 @@ BOOL32 WIN16DRV_CreateDC( DC *dc, LPCSTR driver, LPCSTR device, LPCSTR output,
|
||||||
|
|
||||||
/* Add this to the DC */
|
/* Add this to the DC */
|
||||||
dc->w.devCaps = printerDevCaps;
|
dc->w.devCaps = printerDevCaps;
|
||||||
dc->w.hVisRgn = CreateRectRgn(0, 0, dc->w.devCaps->horzRes, dc->w.devCaps->vertRes);
|
dc->w.hVisRgn = CreateRectRgn32(0, 0, dc->w.devCaps->horzRes, dc->w.devCaps->vertRes);
|
||||||
dc->w.bitsPerPixel = dc->w.devCaps->bitsPixel;
|
dc->w.bitsPerPixel = dc->w.devCaps->bitsPixel;
|
||||||
|
|
||||||
printf("Got devcaps width %d height %d bits %d planes %d\n",
|
printf("Got devcaps width %d height %d bits %d planes %d\n",
|
||||||
|
|
|
@ -114,7 +114,7 @@ static BOOL32 X11DRV_CreateDC( DC *dc, LPCSTR driver, LPCSTR device,
|
||||||
physDev->drawable = bmp->pixmap;
|
physDev->drawable = bmp->pixmap;
|
||||||
physDev->gc = XCreateGC( display, physDev->drawable, 0, NULL );
|
physDev->gc = XCreateGC( display, physDev->drawable, 0, NULL );
|
||||||
dc->w.bitsPerPixel = bmp->bitmap.bmBitsPixel;
|
dc->w.bitsPerPixel = bmp->bitmap.bmBitsPixel;
|
||||||
dc->w.hVisRgn = CreateRectRgn( 0, 0, bmp->bitmap.bmWidth,
|
dc->w.hVisRgn = CreateRectRgn32( 0, 0, bmp->bitmap.bmWidth,
|
||||||
bmp->bitmap.bmHeight );
|
bmp->bitmap.bmHeight );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -122,7 +122,7 @@ static BOOL32 X11DRV_CreateDC( DC *dc, LPCSTR driver, LPCSTR device,
|
||||||
physDev->drawable = rootWindow;
|
physDev->drawable = rootWindow;
|
||||||
physDev->gc = XCreateGC( display, physDev->drawable, 0, NULL );
|
physDev->gc = XCreateGC( display, physDev->drawable, 0, NULL );
|
||||||
dc->w.bitsPerPixel = screenDepth;
|
dc->w.bitsPerPixel = screenDepth;
|
||||||
dc->w.hVisRgn = CreateRectRgn( 0, 0, screenWidth, screenHeight );
|
dc->w.hVisRgn = CreateRectRgn32( 0, 0, screenWidth, screenHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dc->w.hVisRgn)
|
if (!dc->w.hVisRgn)
|
||||||
|
|
|
@ -20,24 +20,23 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
16 pascal ScaleWindowExt(word s_word s_word s_word s_word) ScaleWindowExt
|
16 pascal ScaleWindowExt(word s_word s_word s_word s_word) ScaleWindowExt
|
||||||
17 pascal OffsetViewportOrg(word s_word s_word) OffsetViewportOrg
|
17 pascal OffsetViewportOrg(word s_word s_word) OffsetViewportOrg
|
||||||
18 pascal ScaleViewportExt(word s_word s_word s_word s_word) ScaleViewportExt
|
18 pascal ScaleViewportExt(word s_word s_word s_word s_word) ScaleViewportExt
|
||||||
19 pascal16 LineTo(word s_word s_word) LineTo
|
19 pascal16 LineTo(word s_word s_word) LineTo16
|
||||||
20 pascal MoveTo(word s_word s_word) MoveTo
|
20 pascal MoveTo(word s_word s_word) MoveTo
|
||||||
21 pascal16 ExcludeClipRect(word s_word s_word s_word s_word) ExcludeClipRect
|
21 pascal16 ExcludeClipRect(word s_word s_word s_word s_word) ExcludeClipRect16
|
||||||
22 pascal16 IntersectClipRect(word s_word s_word s_word s_word)
|
22 pascal16 IntersectClipRect(word s_word s_word s_word s_word) IntersectClipRect16
|
||||||
IntersectClipRect
|
|
||||||
23 pascal16 Arc(word s_word s_word s_word s_word s_word s_word s_word s_word)
|
23 pascal16 Arc(word s_word s_word s_word s_word s_word s_word s_word s_word)
|
||||||
Arc
|
Arc16
|
||||||
24 pascal16 Ellipse(word s_word s_word s_word s_word) Ellipse
|
24 pascal16 Ellipse(word s_word s_word s_word s_word) Ellipse16
|
||||||
25 pascal16 FloodFill(word s_word s_word long) FloodFill
|
25 pascal16 FloodFill(word s_word s_word long) FloodFill16
|
||||||
26 pascal16 Pie(word s_word s_word s_word s_word s_word s_word s_word s_word)
|
26 pascal16 Pie(word s_word s_word s_word s_word s_word s_word s_word s_word)
|
||||||
Pie
|
Pie16
|
||||||
27 pascal16 Rectangle(word s_word s_word s_word s_word) Rectangle
|
27 pascal16 Rectangle(word s_word s_word s_word s_word) Rectangle16
|
||||||
28 pascal16 RoundRect(word s_word s_word s_word s_word s_word s_word)
|
28 pascal16 RoundRect(word s_word s_word s_word s_word s_word s_word)
|
||||||
RoundRect
|
RoundRect16
|
||||||
29 pascal16 PatBlt(word s_word s_word s_word s_word long) PatBlt
|
29 pascal16 PatBlt(word s_word s_word s_word s_word long) PatBlt
|
||||||
30 pascal16 SaveDC(word) SaveDC
|
30 pascal16 SaveDC(word) SaveDC
|
||||||
31 pascal SetPixel(word s_word s_word long) SetPixel
|
31 pascal SetPixel(word s_word s_word long) SetPixel16
|
||||||
32 pascal16 OffsetClipRgn(word s_word s_word) OffsetClipRgn
|
32 pascal16 OffsetClipRgn(word s_word s_word) OffsetClipRgn16
|
||||||
33 pascal16 TextOut(word s_word s_word ptr word) TextOut16
|
33 pascal16 TextOut(word s_word s_word ptr word) TextOut16
|
||||||
34 pascal16 BitBlt( word s_word s_word s_word s_word word s_word s_word long)
|
34 pascal16 BitBlt( word s_word s_word s_word s_word word s_word s_word long)
|
||||||
BitBlt
|
BitBlt
|
||||||
|
@ -47,39 +46,39 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
37 pascal16 Polyline (word ptr word) Polyline16
|
37 pascal16 Polyline (word ptr word) Polyline16
|
||||||
38 pascal Escape(word word word segptr segptr) Escape
|
38 pascal Escape(word word word segptr segptr) Escape
|
||||||
39 pascal16 RestoreDC(word s_word) RestoreDC
|
39 pascal16 RestoreDC(word s_word) RestoreDC
|
||||||
40 pascal16 FillRgn(word word word) FillRgn
|
40 pascal16 FillRgn(word word word) FillRgn16
|
||||||
41 pascal16 FrameRgn(word word word word word) FrameRgn
|
41 pascal16 FrameRgn(word word word word word) FrameRgn16
|
||||||
42 pascal16 InvertRgn(word word) InvertRgn
|
42 pascal16 InvertRgn(word word) InvertRgn16
|
||||||
43 pascal16 PaintRgn(word word) PaintRgn
|
43 pascal16 PaintRgn(word word) PaintRgn16
|
||||||
44 pascal16 SelectClipRgn(word word) SelectClipRgn
|
44 pascal16 SelectClipRgn(word word) SelectClipRgn16
|
||||||
45 pascal16 SelectObject(word word) SelectObject
|
45 pascal16 SelectObject(word word) SelectObject16
|
||||||
#46 pascal __GP?
|
#46 pascal __GP?
|
||||||
47 pascal16 CombineRgn(word word word s_word) CombineRgn
|
47 pascal16 CombineRgn(word word word s_word) CombineRgn16
|
||||||
48 pascal16 CreateBitmap(word word word word ptr) CreateBitmap
|
48 pascal16 CreateBitmap(word word word word ptr) CreateBitmap
|
||||||
49 pascal16 CreateBitmapIndirect(ptr) CreateBitmapIndirect16
|
49 pascal16 CreateBitmapIndirect(ptr) CreateBitmapIndirect16
|
||||||
50 pascal16 CreateBrushIndirect(ptr) CreateBrushIndirect
|
50 pascal16 CreateBrushIndirect(ptr) CreateBrushIndirect16
|
||||||
51 pascal16 CreateCompatibleBitmap(word word word) CreateCompatibleBitmap
|
51 pascal16 CreateCompatibleBitmap(word word word) CreateCompatibleBitmap
|
||||||
52 pascal16 CreateCompatibleDC(word) CreateCompatibleDC
|
52 pascal16 CreateCompatibleDC(word) CreateCompatibleDC
|
||||||
53 pascal16 CreateDC(ptr ptr ptr ptr) CreateDC
|
53 pascal16 CreateDC(ptr ptr ptr ptr) CreateDC
|
||||||
54 pascal16 CreateEllipticRgn(s_word s_word s_word s_word) CreateEllipticRgn
|
54 pascal16 CreateEllipticRgn(s_word s_word s_word s_word) CreateEllipticRgn16
|
||||||
55 pascal16 CreateEllipticRgnIndirect(ptr) CreateEllipticRgnIndirect16
|
55 pascal16 CreateEllipticRgnIndirect(ptr) CreateEllipticRgnIndirect16
|
||||||
56 pascal16 CreateFont(s_word s_word s_word s_word s_word word word word
|
56 pascal16 CreateFont(s_word s_word s_word s_word s_word word word word
|
||||||
word word word word word ptr) CreateFont16
|
word word word word word ptr) CreateFont16
|
||||||
57 pascal16 CreateFontIndirect(ptr) CreateFontIndirect16
|
57 pascal16 CreateFontIndirect(ptr) CreateFontIndirect16
|
||||||
58 pascal16 CreateHatchBrush(word long) CreateHatchBrush
|
58 pascal16 CreateHatchBrush(word long) CreateHatchBrush16
|
||||||
60 pascal16 CreatePatternBrush(word) CreatePatternBrush
|
60 pascal16 CreatePatternBrush(word) CreatePatternBrush16
|
||||||
61 pascal16 CreatePen(s_word s_word long) CreatePen
|
61 pascal16 CreatePen(s_word s_word long) CreatePen16
|
||||||
62 pascal16 CreatePenIndirect(ptr) CreatePenIndirect
|
62 pascal16 CreatePenIndirect(ptr) CreatePenIndirect16
|
||||||
63 pascal16 CreatePolygonRgn(ptr word word) CreatePolygonRgn16
|
63 pascal16 CreatePolygonRgn(ptr word word) CreatePolygonRgn16
|
||||||
64 pascal16 CreateRectRgn(s_word s_word s_word s_word) CreateRectRgn
|
64 pascal16 CreateRectRgn(s_word s_word s_word s_word) CreateRectRgn16
|
||||||
65 pascal16 CreateRectRgnIndirect(ptr) CreateRectRgnIndirect16
|
65 pascal16 CreateRectRgnIndirect(ptr) CreateRectRgnIndirect16
|
||||||
66 pascal16 CreateSolidBrush(long) CreateSolidBrush
|
66 pascal16 CreateSolidBrush(long) CreateSolidBrush16
|
||||||
67 pascal16 DPtoLP(word ptr s_word) DPtoLP16
|
67 pascal16 DPtoLP(word ptr s_word) DPtoLP16
|
||||||
68 pascal16 DeleteDC(word) DeleteDC
|
68 pascal16 DeleteDC(word) DeleteDC
|
||||||
69 pascal16 DeleteObject(word) DeleteObject
|
69 pascal16 DeleteObject(word) DeleteObject16
|
||||||
70 pascal16 EnumFonts(word ptr segptr long) THUNK_EnumFonts16
|
70 pascal16 EnumFonts(word ptr segptr long) THUNK_EnumFonts16
|
||||||
71 pascal16 EnumObjects(word word segptr long) THUNK_EnumObjects16
|
71 pascal16 EnumObjects(word word segptr long) THUNK_EnumObjects16
|
||||||
72 pascal16 EqualRgn(word word) EqualRgn
|
72 pascal16 EqualRgn(word word) EqualRgn16
|
||||||
73 pascal16 ExcludeVisRect(word s_word s_word s_word s_word) ExcludeVisRect
|
73 pascal16 ExcludeVisRect(word s_word s_word s_word s_word) ExcludeVisRect
|
||||||
74 pascal GetBitmapBits(word long ptr) GetBitmapBits
|
74 pascal GetBitmapBits(word long ptr) GetBitmapBits
|
||||||
75 pascal GetBkColor(word) GetBkColor
|
75 pascal GetBkColor(word) GetBkColor
|
||||||
|
@ -90,11 +89,11 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
80 pascal16 GetDeviceCaps(word s_word) GetDeviceCaps
|
80 pascal16 GetDeviceCaps(word s_word) GetDeviceCaps
|
||||||
81 pascal16 GetMapMode(word) GetMapMode
|
81 pascal16 GetMapMode(word) GetMapMode
|
||||||
82 pascal16 GetObject(word s_word ptr) GetObject16
|
82 pascal16 GetObject(word s_word ptr) GetObject16
|
||||||
83 pascal GetPixel(word s_word s_word) GetPixel
|
83 pascal GetPixel(word s_word s_word) GetPixel16
|
||||||
84 pascal16 GetPolyFillMode(word) GetPolyFillMode
|
84 pascal16 GetPolyFillMode(word) GetPolyFillMode
|
||||||
85 pascal16 GetROP2(word) GetROP2
|
85 pascal16 GetROP2(word) GetROP2
|
||||||
86 pascal16 GetRelAbs(word) GetRelAbs
|
86 pascal16 GetRelAbs(word) GetRelAbs
|
||||||
87 pascal16 GetStockObject(word) GetStockObject
|
87 pascal16 GetStockObject(word) GetStockObject16
|
||||||
88 pascal16 GetStretchBltMode(word) GetStretchBltMode
|
88 pascal16 GetStretchBltMode(word) GetStretchBltMode
|
||||||
89 pascal16 GetTextCharacterExtra(word) GetTextCharacterExtra
|
89 pascal16 GetTextCharacterExtra(word) GetTextCharacterExtra
|
||||||
90 pascal GetTextColor(word) GetTextColor
|
90 pascal GetTextColor(word) GetTextColor
|
||||||
|
@ -109,9 +108,9 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
IntersectVisRect
|
IntersectVisRect
|
||||||
99 pascal16 LPtoDP(word ptr s_word) LPtoDP16
|
99 pascal16 LPtoDP(word ptr s_word) LPtoDP16
|
||||||
100 pascal16 LineDDA(s_word s_word s_word s_word segptr long) THUNK_LineDDA16
|
100 pascal16 LineDDA(s_word s_word s_word s_word segptr long) THUNK_LineDDA16
|
||||||
101 pascal16 OffsetRgn(word s_word s_word) OffsetRgn
|
101 pascal16 OffsetRgn(word s_word s_word) OffsetRgn16
|
||||||
102 pascal16 OffsetVisRgn(word s_word s_word) OffsetVisRgn
|
102 pascal16 OffsetVisRgn(word s_word s_word) OffsetVisRgn
|
||||||
103 pascal16 PtVisible(word s_word s_word) PtVisible
|
103 pascal16 PtVisible(word s_word s_word) PtVisible16
|
||||||
104 pascal16 RectVisibleOld(word ptr) RectVisible16
|
104 pascal16 RectVisibleOld(word ptr) RectVisible16
|
||||||
105 pascal16 SelectVisRgn(word word) SelectVisRgn
|
105 pascal16 SelectVisRgn(word word) SelectVisRgn
|
||||||
106 pascal SetBitmapBits(word long ptr) SetBitmapBits
|
106 pascal SetBitmapBits(word long ptr) SetBitmapBits
|
||||||
|
@ -135,7 +134,7 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
136 pascal16 RemoveFontResource(ptr) RemoveFontResource
|
136 pascal16 RemoveFontResource(ptr) RemoveFontResource
|
||||||
148 pascal SetBrushOrg(word s_word s_word) SetBrushOrg
|
148 pascal SetBrushOrg(word s_word s_word) SetBrushOrg
|
||||||
149 pascal GetBrushOrg(word) GetBrushOrg
|
149 pascal GetBrushOrg(word) GetBrushOrg
|
||||||
150 pascal16 UnrealizeObject(word) UnrealizeObject
|
150 pascal16 UnrealizeObject(word) UnrealizeObject16
|
||||||
151 pascal16 CopyMetaFile(word ptr) CopyMetaFile
|
151 pascal16 CopyMetaFile(word ptr) CopyMetaFile
|
||||||
153 pascal16 CreateIC(ptr ptr ptr ptr) CreateIC
|
153 pascal16 CreateIC(ptr ptr ptr ptr) CreateIC
|
||||||
154 pascal GetNearestColor(word long) GetNearestColor
|
154 pascal GetNearestColor(word long) GetNearestColor
|
||||||
|
@ -144,7 +143,7 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
158 pascal16 EnumCallback(ptr ptr word long) WineEnumDFontCallback
|
158 pascal16 EnumCallback(ptr ptr word long) WineEnumDFontCallback
|
||||||
159 pascal16 GetMetaFileBits(word) GetMetaFileBits
|
159 pascal16 GetMetaFileBits(word) GetMetaFileBits
|
||||||
160 pascal16 SetMetaFileBits(word) SetMetaFileBits
|
160 pascal16 SetMetaFileBits(word) SetMetaFileBits
|
||||||
161 pascal16 PtInRegion(word s_word s_word) PtInRegion
|
161 pascal16 PtInRegion(word s_word s_word) PtInRegion16
|
||||||
162 pascal GetBitmapDimension(word) GetBitmapDimension
|
162 pascal GetBitmapDimension(word) GetBitmapDimension
|
||||||
163 pascal SetBitmapDimension(word s_word s_word) SetBitmapDimension
|
163 pascal SetBitmapDimension(word s_word s_word) SetBitmapDimension
|
||||||
169 stub IsDCDirty
|
169 stub IsDCDirty
|
||||||
|
@ -233,7 +232,7 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
345 pascal16 GetTextAlign(word) GetTextAlign
|
345 pascal16 GetTextAlign(word) GetTextAlign
|
||||||
346 pascal16 SetTextAlign(word word) SetTextAlign
|
346 pascal16 SetTextAlign(word word) SetTextAlign
|
||||||
348 pascal16 Chord(word s_word s_word s_word s_word s_word s_word
|
348 pascal16 Chord(word s_word s_word s_word s_word s_word s_word
|
||||||
s_word s_word) Chord
|
s_word s_word) Chord16
|
||||||
349 pascal SetMapperFlags(word long) SetMapperFlags
|
349 pascal SetMapperFlags(word long) SetMapperFlags
|
||||||
350 pascal16 GetCharWidth(word word word ptr) GetCharWidth
|
350 pascal16 GetCharWidth(word word word ptr) GetCharWidth
|
||||||
351 pascal16 ExtTextOut(word s_word s_word word ptr ptr word ptr) ExtTextOut16
|
351 pascal16 ExtTextOut(word s_word s_word word ptr ptr word ptr) ExtTextOut16
|
||||||
|
@ -251,7 +250,7 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
367 pascal16 AnimatePalette(word word word ptr) AnimatePalette
|
367 pascal16 AnimatePalette(word word word ptr) AnimatePalette
|
||||||
368 pascal16 ResizePalette(word word) ResizePalette
|
368 pascal16 ResizePalette(word word) ResizePalette
|
||||||
370 pascal16 GetNearestPaletteIndex(word long) GetNearestPaletteIndex
|
370 pascal16 GetNearestPaletteIndex(word long) GetNearestPaletteIndex
|
||||||
372 pascal16 ExtFloodFill(word s_word s_word long word) ExtFloodFill
|
372 pascal16 ExtFloodFill(word s_word s_word long word) ExtFloodFill16
|
||||||
373 pascal16 SetSystemPaletteUse(word word) SetSystemPaletteUse
|
373 pascal16 SetSystemPaletteUse(word word) SetSystemPaletteUse
|
||||||
374 pascal16 GetSystemPaletteUse(word) GetSystemPaletteUse
|
374 pascal16 GetSystemPaletteUse(word) GetSystemPaletteUse
|
||||||
375 pascal16 GetSystemPaletteEntries(word word word ptr)
|
375 pascal16 GetSystemPaletteEntries(word word word ptr)
|
||||||
|
@ -281,8 +280,8 @@ heap 65488 # 65536 - 16 (instance data) - 32 (stock objects)
|
||||||
443 pascal16 SetDIBitsToDevice(word s_word s_word word word word word
|
443 pascal16 SetDIBitsToDevice(word s_word s_word word word word word
|
||||||
word word ptr ptr word) SetDIBitsToDevice
|
word word ptr ptr word) SetDIBitsToDevice
|
||||||
444 pascal16 CreateRoundRectRgn(s_word s_word s_word s_word s_word s_word)
|
444 pascal16 CreateRoundRectRgn(s_word s_word s_word s_word s_word s_word)
|
||||||
CreateRoundRectRgn
|
CreateRoundRectRgn16
|
||||||
445 pascal16 CreateDIBPatternBrush(word word) CreateDIBPatternBrush
|
445 pascal16 CreateDIBPatternBrush(word word) CreateDIBPatternBrush16
|
||||||
449 stub DEVICECOLORMATCH
|
449 stub DEVICECOLORMATCH
|
||||||
450 pascal16 PolyPolygon(word ptr ptr word) PolyPolygon16
|
450 pascal16 PolyPolygon(word ptr ptr word) PolyPolygon16
|
||||||
451 pascal16 CreatePolyPolygonRgn(ptr ptr word word) CreatePolyPolygonRgn16
|
451 pascal16 CreatePolyPolygonRgn(ptr ptr word word) CreatePolyPolygonRgn16
|
||||||
|
|
|
@ -9,19 +9,19 @@ base 1
|
||||||
0004 stub AddFontResourceW
|
0004 stub AddFontResourceW
|
||||||
0005 stub AngleArc
|
0005 stub AngleArc
|
||||||
0006 stub AnimatePalette
|
0006 stub AnimatePalette
|
||||||
0007 stub Arc
|
0007 stdcall Arc(long long long long long long long long long) Arc32
|
||||||
0008 stub ArcTo
|
0008 stub ArcTo
|
||||||
0009 stub BeginPath
|
0009 stub BeginPath
|
||||||
0010 stdcall BitBlt(long long long long long long long long long) BitBlt
|
0010 stdcall BitBlt(long long long long long long long long long) BitBlt
|
||||||
0011 stub CancelDC
|
0011 stub CancelDC
|
||||||
0012 stub CheckColorsInGamut
|
0012 stub CheckColorsInGamut
|
||||||
0013 stub ChoosePixelFormat
|
0013 stub ChoosePixelFormat
|
||||||
0014 stub Chord
|
0014 stdcall Chord(long long long long long long long long long) Chord32
|
||||||
0015 stub CloseEnhMetaFile
|
0015 stub CloseEnhMetaFile
|
||||||
0016 stub CloseFigure
|
0016 stub CloseFigure
|
||||||
0017 stub CloseMetaFile
|
0017 stub CloseMetaFile
|
||||||
0018 stub ColorMatchToTarget
|
0018 stub ColorMatchToTarget
|
||||||
0019 stdcall CombineRgn(long long long long) CombineRgn
|
0019 stdcall CombineRgn(long long long long) CombineRgn32
|
||||||
0020 stub CombineTransform
|
0020 stub CombineTransform
|
||||||
0021 stub CopyEnhMetaFileA
|
0021 stub CopyEnhMetaFileA
|
||||||
0022 stub CopyEnhMetaFileW
|
0022 stub CopyEnhMetaFileW
|
||||||
|
@ -29,19 +29,19 @@ base 1
|
||||||
0024 stub CopyMetaFileW
|
0024 stub CopyMetaFileW
|
||||||
0025 stdcall CreateBitmap(long long long long ptr) CreateBitmap
|
0025 stdcall CreateBitmap(long long long long ptr) CreateBitmap
|
||||||
0026 stdcall CreateBitmapIndirect(ptr) CreateBitmapIndirect32
|
0026 stdcall CreateBitmapIndirect(ptr) CreateBitmapIndirect32
|
||||||
0027 stub CreateBrushIndirect
|
0027 stdcall CreateBrushIndirect(ptr) CreateBrushIndirect32
|
||||||
0028 stub CreateColorSpaceA
|
0028 stub CreateColorSpaceA
|
||||||
0029 stub CreateColorSpaceW
|
0029 stub CreateColorSpaceW
|
||||||
0030 stdcall CreateCompatibleBitmap(long long long) CreateCompatibleBitmap
|
0030 stdcall CreateCompatibleBitmap(long long long) CreateCompatibleBitmap
|
||||||
0031 stdcall CreateCompatibleDC(long) CreateCompatibleDC
|
0031 stdcall CreateCompatibleDC(long) CreateCompatibleDC
|
||||||
0032 stub CreateDCA
|
0032 stub CreateDCA
|
||||||
0033 stub CreateDCW
|
0033 stub CreateDCW
|
||||||
0034 stdcall CreateDIBPatternBrush(long long) CreateDIBPatternBrush
|
0034 stdcall CreateDIBPatternBrush(long long) CreateDIBPatternBrush32
|
||||||
0035 stub CreateDIBPatternBrushPt
|
0035 stub CreateDIBPatternBrushPt
|
||||||
0036 stub CreateDIBSection
|
0036 stub CreateDIBSection
|
||||||
0037 stdcall CreateDIBitmap(long ptr long ptr ptr long) CreateDIBitmap
|
0037 stdcall CreateDIBitmap(long ptr long ptr ptr long) CreateDIBitmap
|
||||||
0038 stdcall CreateDiscardableBitmap(long long long) CreateDiscardableBitmap
|
0038 stdcall CreateDiscardableBitmap(long long long) CreateDiscardableBitmap
|
||||||
0039 stdcall CreateEllipticRgn(long long long long) CreateEllipticRgn
|
0039 stdcall CreateEllipticRgn(long long long long) CreateEllipticRgn32
|
||||||
0040 stdcall CreateEllipticRgnIndirect(ptr) CreateEllipticRgnIndirect32
|
0040 stdcall CreateEllipticRgnIndirect(ptr) CreateEllipticRgnIndirect32
|
||||||
0041 stub CreateEnhMetaFileA
|
0041 stub CreateEnhMetaFileA
|
||||||
0042 stub CreateEnhMetaFileW
|
0042 stub CreateEnhMetaFileW
|
||||||
|
@ -52,34 +52,35 @@ base 1
|
||||||
0046 stdcall CreateFontW(long long long long long long long long
|
0046 stdcall CreateFontW(long long long long long long long long
|
||||||
long long long long long ptr) CreateFont32W
|
long long long long long ptr) CreateFont32W
|
||||||
0047 stub CreateHalftonePalette
|
0047 stub CreateHalftonePalette
|
||||||
0048 stub CreateHatchBrush
|
0048 stdcall CreateHatchBrush(long long) CreateHatchBrush32
|
||||||
0049 stdcall CreateICA(ptr ptr ptr ptr) CreateIC
|
0049 stdcall CreateICA(ptr ptr ptr ptr) CreateIC
|
||||||
0050 stub CreateICW
|
0050 stub CreateICW
|
||||||
0051 stub CreateMetaFileA
|
0051 stub CreateMetaFileA
|
||||||
0052 stub CreateMetaFileW
|
0052 stub CreateMetaFileW
|
||||||
0053 stdcall CreatePalette(ptr) CreatePalette
|
0053 stdcall CreatePalette(ptr) CreatePalette
|
||||||
0054 stdcall CreatePatternBrush(long) CreatePatternBrush
|
0054 stdcall CreatePatternBrush(long) CreatePatternBrush32
|
||||||
0055 stdcall CreatePen(long long long) CreatePen
|
0055 stdcall CreatePen(long long long) CreatePen32
|
||||||
0056 stub CreatePenIndirect
|
0056 stdcall CreatePenIndirect(ptr) CreatePenIndirect32
|
||||||
0057 stub CreatePolyPolygonRgn
|
0057 stub CreatePolyPolygonRgn
|
||||||
0058 stub CreatePolygonRgn
|
0058 stub CreatePolygonRgn
|
||||||
0059 stdcall CreateRectRgn(long long long long) CreateRectRgn
|
0059 stdcall CreateRectRgn(long long long long) CreateRectRgn32
|
||||||
0060 stdcall CreateRectRgnIndirect(ptr) CreateRectRgnIndirect32
|
0060 stdcall CreateRectRgnIndirect(ptr) CreateRectRgnIndirect32
|
||||||
0061 stdcall CreateRoundRectRgn(long long long long long long) CreateRoundRectRgn
|
0061 stdcall CreateRoundRectRgn(long long long long long long)
|
||||||
|
CreateRoundRectRgn32
|
||||||
0062 stub CreateScalableFontResourceA
|
0062 stub CreateScalableFontResourceA
|
||||||
0063 stub CreateScalableFontResourceW
|
0063 stub CreateScalableFontResourceW
|
||||||
0064 stdcall CreateSolidBrush(long) CreateSolidBrush
|
0064 stdcall CreateSolidBrush(long) CreateSolidBrush32
|
||||||
0065 stdcall DPtoLP(long ptr long) DPtoLP32
|
0065 stdcall DPtoLP(long ptr long) DPtoLP32
|
||||||
0066 stub DeleteColorSpace
|
0066 stub DeleteColorSpace
|
||||||
0067 stdcall DeleteDC(long) DeleteDC
|
0067 stdcall DeleteDC(long) DeleteDC
|
||||||
0068 stub DeleteEnhMetaFile
|
0068 stub DeleteEnhMetaFile
|
||||||
0069 stub DeleteMetaFile
|
0069 stub DeleteMetaFile
|
||||||
0070 stdcall DeleteObject(long) DeleteObject
|
0070 stdcall DeleteObject(long) DeleteObject32
|
||||||
0071 stub DescribePixelFormat
|
0071 stub DescribePixelFormat
|
||||||
0072 stub DeviceCapabilitiesExA
|
0072 stub DeviceCapabilitiesExA
|
||||||
0073 stub DeviceCapabilitiesExW
|
0073 stub DeviceCapabilitiesExW
|
||||||
0074 stub DrawEscape
|
0074 stub DrawEscape
|
||||||
0075 stub Ellipse
|
0075 stdcall Ellipse(long long long long long) Ellipse32
|
||||||
0076 stub EndDoc
|
0076 stub EndDoc
|
||||||
0077 stub EndPage
|
0077 stub EndPage
|
||||||
0078 stub EndPath
|
0078 stub EndPath
|
||||||
|
@ -93,23 +94,23 @@ base 1
|
||||||
0086 stub EnumICMProfilesA
|
0086 stub EnumICMProfilesA
|
||||||
0087 stub EnumICMProfilesW
|
0087 stub EnumICMProfilesW
|
||||||
0088 stub EnumMetaFile
|
0088 stub EnumMetaFile
|
||||||
0089 stub EnumObjects
|
0089 stdcall EnumObjects(long long ptr long) EnumObjects32
|
||||||
0090 stdcall EqualRgn(long long) EqualRgn
|
0090 stdcall EqualRgn(long long) EqualRgn32
|
||||||
0091 stub Escape
|
0091 stub Escape
|
||||||
0092 stub ExcludeClipRect
|
0092 stdcall ExcludeClipRect(long long long long long) ExcludeClipRect32
|
||||||
0093 stub ExtCreatePen
|
0093 stub ExtCreatePen
|
||||||
0094 stub ExtCreateRegion
|
0094 stub ExtCreateRegion
|
||||||
0095 stub ExtEscape
|
0095 stub ExtEscape
|
||||||
0096 stdcall ExtFloodFill(long long long long long) ExtFloodFill
|
0096 stdcall ExtFloodFill(long long long long long) ExtFloodFill32
|
||||||
0097 stub ExtSelectClipRgn
|
0097 stub ExtSelectClipRgn
|
||||||
0098 stdcall ExtTextOutA(long long long long ptr ptr long ptr) ExtTextOut32A
|
0098 stdcall ExtTextOutA(long long long long ptr ptr long ptr) ExtTextOut32A
|
||||||
0099 stdcall ExtTextOutW(long long long long ptr ptr long ptr) ExtTextOut32W
|
0099 stdcall ExtTextOutW(long long long long ptr ptr long ptr) ExtTextOut32W
|
||||||
0100 stub FillPath
|
0100 stub FillPath
|
||||||
0101 stub FillRgn
|
0101 stdcall FillRgn(long long long) FillRgn32
|
||||||
0102 stub FixBrushOrgEx
|
0102 stub FixBrushOrgEx
|
||||||
0103 stub FlattenPath
|
0103 stub FlattenPath
|
||||||
0104 stdcall FloodFill(long long long long) FloodFill
|
0104 stdcall FloodFill(long long long long) FloodFill32
|
||||||
0105 stub FrameRgn
|
0105 stdcall FrameRgn(long long long long long) FrameRgn32
|
||||||
0106 stub FreeImageColorMatcher
|
0106 stub FreeImageColorMatcher
|
||||||
0107 stub GdiAssociateObject
|
0107 stub GdiAssociateObject
|
||||||
0108 stub GdiCleanCacheDC
|
0108 stub GdiCleanCacheDC
|
||||||
|
@ -215,7 +216,7 @@ base 1
|
||||||
0208 stub GetOutlineTextMetricsW
|
0208 stub GetOutlineTextMetricsW
|
||||||
0209 stdcall GetPaletteEntries(long long long ptr) GetPaletteEntries
|
0209 stdcall GetPaletteEntries(long long long ptr) GetPaletteEntries
|
||||||
0210 stub GetPath
|
0210 stub GetPath
|
||||||
0211 stdcall GetPixel(long long long) GetPixel
|
0211 stdcall GetPixel(long long long) GetPixel32
|
||||||
0212 stub GetPixelFormat
|
0212 stub GetPixelFormat
|
||||||
0213 stub GetPolyFillMode
|
0213 stub GetPolyFillMode
|
||||||
0214 stub GetROP2
|
0214 stub GetROP2
|
||||||
|
@ -224,7 +225,7 @@ base 1
|
||||||
0217 stub GetRegionData
|
0217 stub GetRegionData
|
||||||
0218 stub GetRelAbs
|
0218 stub GetRelAbs
|
||||||
0219 stdcall GetRgnBox(long ptr) GetRgnBox32
|
0219 stdcall GetRgnBox(long ptr) GetRgnBox32
|
||||||
0220 stdcall GetStockObject(long) GetStockObject
|
0220 stdcall GetStockObject(long) GetStockObject32
|
||||||
0221 stub GetStretchBltMode
|
0221 stub GetStretchBltMode
|
||||||
0222 stdcall GetSystemPaletteEntries(long long long ptr) GetSystemPaletteEntries
|
0222 stdcall GetSystemPaletteEntries(long long long ptr) GetSystemPaletteEntries
|
||||||
0223 stub GetSystemPaletteUse
|
0223 stub GetSystemPaletteUse
|
||||||
|
@ -249,24 +250,24 @@ base 1
|
||||||
0242 stub GetWindowExtEx
|
0242 stub GetWindowExtEx
|
||||||
0243 stub GetWindowOrgEx
|
0243 stub GetWindowOrgEx
|
||||||
0244 stub GetWorldTransform
|
0244 stub GetWorldTransform
|
||||||
0245 stub IntersectClipRect
|
0245 stdcall IntersectClipRect(long long long long long) IntersectClipRect32
|
||||||
0246 stdcall InvertRgn(long long) InvertRgn
|
0246 stdcall InvertRgn(long long) InvertRgn32
|
||||||
0247 stdcall LPtoDP(long ptr long) LPtoDP32
|
0247 stdcall LPtoDP(long ptr long) LPtoDP32
|
||||||
0248 stdcall LineDDA(long long long long ptr long) THUNK_LineDDA32
|
0248 stdcall LineDDA(long long long long ptr long) THUNK_LineDDA32
|
||||||
0249 stdcall LineTo(long long long) LineTo
|
0249 stdcall LineTo(long long long) LineTo32
|
||||||
0250 stub LoadImageColorMatcherA
|
0250 stub LoadImageColorMatcherA
|
||||||
0251 stub LoadImageColorMatcherW
|
0251 stub LoadImageColorMatcherW
|
||||||
0252 stub MaskBlt
|
0252 stub MaskBlt
|
||||||
0253 stub ModifyWorldTransform
|
0253 stub ModifyWorldTransform
|
||||||
0254 stdcall MoveToEx(long long long ptr) MoveToEx32
|
0254 stdcall MoveToEx(long long long ptr) MoveToEx32
|
||||||
0255 stub OffsetClipRgn
|
0255 stdcall OffsetClipRgn(long long long) OffsetClipRgn32
|
||||||
0256 stdcall OffsetRgn(long long long) OffsetRgn
|
0256 stdcall OffsetRgn(long long long) OffsetRgn32
|
||||||
0257 stdcall OffsetViewportOrgEx(long long long ptr) OffsetViewportOrgEx32
|
0257 stdcall OffsetViewportOrgEx(long long long ptr) OffsetViewportOrgEx32
|
||||||
0258 stdcall OffsetWindowOrgEx(long long long ptr) OffsetWindowOrgEx32
|
0258 stdcall OffsetWindowOrgEx(long long long ptr) OffsetWindowOrgEx32
|
||||||
0259 stub PaintRgn
|
0259 stdcall PaintRgn(long long) PaintRgn32
|
||||||
0260 stdcall PatBlt(long long long long long long) PatBlt
|
0260 stdcall PatBlt(long long long long long long) PatBlt
|
||||||
0261 stub PathToRegion
|
0261 stub PathToRegion
|
||||||
0262 stub Pie
|
0262 stdcall Pie(long long long long long long long long long) Pie32
|
||||||
0263 stub PlayEnhMetaFile
|
0263 stub PlayEnhMetaFile
|
||||||
0264 stub PlayEnhMetaFileRecord
|
0264 stub PlayEnhMetaFileRecord
|
||||||
0265 stub PlayMetaFile
|
0265 stub PlayMetaFile
|
||||||
|
@ -282,12 +283,12 @@ base 1
|
||||||
0275 stub Polygon
|
0275 stub Polygon
|
||||||
0276 stub Polyline
|
0276 stub Polyline
|
||||||
0277 stub PolylineTo
|
0277 stub PolylineTo
|
||||||
0278 stdcall PtInRegion(long long long) PtInRegion
|
0278 stdcall PtInRegion(long long long) PtInRegion32
|
||||||
0279 stdcall PtVisible(long long long) PtVisible
|
0279 stdcall PtVisible(long long long) PtVisible32
|
||||||
0280 stdcall RealizePalette(long) RealizePalette
|
0280 stdcall RealizePalette(long) RealizePalette
|
||||||
0281 stdcall RectInRegion(long ptr) RectInRegion32
|
0281 stdcall RectInRegion(long ptr) RectInRegion32
|
||||||
0282 stdcall RectVisible(long ptr) RectVisible32
|
0282 stdcall RectVisible(long ptr) RectVisible32
|
||||||
0283 stdcall Rectangle(long long long long long) Rectangle
|
0283 stdcall Rectangle(long long long long long) Rectangle32
|
||||||
0284 stub RemoveFontResourceA
|
0284 stub RemoveFontResourceA
|
||||||
0285 stub RemoveFontResourceTracking
|
0285 stub RemoveFontResourceTracking
|
||||||
0286 stub RemoveFontResourceW
|
0286 stub RemoveFontResourceW
|
||||||
|
@ -295,15 +296,15 @@ base 1
|
||||||
0288 stub ResetDCW
|
0288 stub ResetDCW
|
||||||
0289 stub ResizePalette
|
0289 stub ResizePalette
|
||||||
0290 stdcall RestoreDC(long long) RestoreDC
|
0290 stdcall RestoreDC(long long) RestoreDC
|
||||||
0291 stub RoundRect
|
0291 stdcall RoundRect(long long long long long long long) RoundRect32
|
||||||
0292 stdcall SaveDC(long) SaveDC
|
0292 stdcall SaveDC(long) SaveDC
|
||||||
0293 stdcall ScaleViewportExtEx(long long long long long ptr) ScaleViewportExtEx32
|
0293 stdcall ScaleViewportExtEx(long long long long long ptr) ScaleViewportExtEx32
|
||||||
0294 stdcall ScaleWindowExtEx(long long long long long ptr) ScaleWindowExtEx32
|
0294 stdcall ScaleWindowExtEx(long long long long long ptr) ScaleWindowExtEx32
|
||||||
0295 stub SelectBrushLocal
|
0295 stub SelectBrushLocal
|
||||||
0296 stub SelectClipPath
|
0296 stub SelectClipPath
|
||||||
0297 stdcall SelectClipRgn(long long) SelectClipRgn
|
0297 stdcall SelectClipRgn(long long) SelectClipRgn32
|
||||||
0298 stub SelectFontLocal
|
0298 stub SelectFontLocal
|
||||||
0299 stdcall SelectObject(long long) SelectObject
|
0299 stdcall SelectObject(long long) SelectObject32
|
||||||
0300 stdcall SelectPalette(long long long) SelectPalette
|
0300 stdcall SelectPalette(long long long) SelectPalette
|
||||||
0301 stub SetAbortProc
|
0301 stub SetAbortProc
|
||||||
0302 stub SetArcDirection
|
0302 stub SetArcDirection
|
||||||
|
@ -332,7 +333,7 @@ base 1
|
||||||
0324 stub SetMetaRgn
|
0324 stub SetMetaRgn
|
||||||
0325 stub SetMiterLimit
|
0325 stub SetMiterLimit
|
||||||
0326 stub SetPaletteEntries
|
0326 stub SetPaletteEntries
|
||||||
0327 stdcall SetPixel(long long long long) SetPixel
|
0327 stdcall SetPixel(long long long long) SetPixel32
|
||||||
0328 stub SetPixelFormat
|
0328 stub SetPixelFormat
|
||||||
0329 stub SetPixelV
|
0329 stub SetPixelV
|
||||||
0330 stub SetPolyFillMode
|
0330 stub SetPolyFillMode
|
||||||
|
@ -364,7 +365,7 @@ base 1
|
||||||
0355 stdcall TextOutA(long long long ptr long) TextOut32A
|
0355 stdcall TextOutA(long long long ptr long) TextOut32A
|
||||||
0356 stdcall TextOutW(long long long ptr long) TextOut32W
|
0356 stdcall TextOutW(long long long ptr long) TextOut32W
|
||||||
0357 stub UnloadNetworkFonts
|
0357 stub UnloadNetworkFonts
|
||||||
0358 stdcall UnrealizeObject(long) UnrealizeObject
|
0358 stdcall UnrealizeObject(long) UnrealizeObject32
|
||||||
0359 stub UpdateColors
|
0359 stub UpdateColors
|
||||||
0360 stub WidenPath
|
0360 stub WidenPath
|
||||||
0361 stub pstackConnect
|
0361 stub pstackConnect
|
||||||
|
|
|
@ -95,7 +95,18 @@ INT16 THUNK_EnumObjects16( HDC16 hdc, INT16 nObjType,
|
||||||
GOBJENUMPROC16 func, LPARAM lParam )
|
GOBJENUMPROC16 func, LPARAM lParam )
|
||||||
{
|
{
|
||||||
DECL_THUNK( thunk, func, CallTo16_word_ll );
|
DECL_THUNK( thunk, func, CallTo16_word_ll );
|
||||||
return EnumObjects( hdc, nObjType, (GOBJENUMPROC16)&thunk, lParam );
|
return EnumObjects16( hdc, nObjType, (GOBJENUMPROC16)&thunk, lParam );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* THUNK_EnumObjects32 (GDI32.89)
|
||||||
|
*/
|
||||||
|
INT32 THUNK_EnumObjects32( HDC32 hdc, INT32 nObjType,
|
||||||
|
GOBJENUMPROC32 func, LPARAM lParam )
|
||||||
|
{
|
||||||
|
DECL_THUNK( thunk, func, CallTo32_4 );
|
||||||
|
return EnumObjects32( hdc, nObjType, (GOBJENUMPROC32)&thunk, lParam );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,9 +313,11 @@ FARPROC16 THUNK_SetWindowsHook16( INT16 id, HOOKPROC16 proc )
|
||||||
*/
|
*/
|
||||||
BOOL16 THUNK_UnhookWindowsHook16( INT16 id, HOOKPROC16 proc )
|
BOOL16 THUNK_UnhookWindowsHook16( INT16 id, HOOKPROC16 proc )
|
||||||
{
|
{
|
||||||
BOOL16 ret = FALSE;
|
BOOL16 ret;
|
||||||
THUNK *thunk = THUNK_Find( (FARPROC16)proc );
|
THUNK *thunk = THUNK_Find( (FARPROC16)proc );
|
||||||
if (thunk) ret = UnhookWindowsHook16( id, (HOOKPROC16)thunk );
|
if (!thunk) return FALSE;
|
||||||
|
ret = UnhookWindowsHook16( id, (HOOKPROC16)thunk );
|
||||||
|
THUNK_Free( thunk );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -284,7 +284,7 @@ heap 65520
|
||||||
278 pascal16 GetDesktopHwnd() GetDesktopHwnd
|
278 pascal16 GetDesktopHwnd() GetDesktopHwnd
|
||||||
279 stub OldSetDeskPattern
|
279 stub OldSetDeskPattern
|
||||||
280 stub SetSystemMenu
|
280 stub SetSystemMenu
|
||||||
281 pascal16 GetSysColorBrush(word) GetSysColorBrush
|
281 pascal16 GetSysColorBrush(word) GetSysColorBrush16
|
||||||
282 pascal16 SelectPalette(word word word) SelectPalette
|
282 pascal16 SelectPalette(word word word) SelectPalette
|
||||||
283 pascal16 RealizePalette(word) RealizePalette
|
283 pascal16 RealizePalette(word) RealizePalette
|
||||||
284 pascal16 GetFreeSystemResources(word) GetFreeSystemResources
|
284 pascal16 GetFreeSystemResources(word) GetFreeSystemResources
|
||||||
|
|
|
@ -293,7 +293,7 @@ base 1
|
||||||
0286 return GetShellWindow 0 0
|
0286 return GetShellWindow 0 0
|
||||||
0287 stdcall GetSubMenu(long long) GetSubMenu
|
0287 stdcall GetSubMenu(long long) GetSubMenu
|
||||||
0288 stdcall GetSysColor(long) GetSysColor
|
0288 stdcall GetSysColor(long) GetSysColor
|
||||||
0289 stdcall GetSysColorBrush(long) GetSysColorBrush
|
0289 stdcall GetSysColorBrush(long) GetSysColorBrush32
|
||||||
0290 stdcall GetSystemMenu(long long) GetSystemMenu
|
0290 stdcall GetSystemMenu(long long) GetSystemMenu
|
||||||
0291 stdcall GetSystemMetrics(long) GetSystemMetrics
|
0291 stdcall GetSystemMetrics(long) GetSystemMetrics
|
||||||
0292 stub GetTabbedTextExtentA
|
0292 stub GetTabbedTextExtentA
|
||||||
|
|
|
@ -21,7 +21,6 @@ type win16
|
||||||
21 pascal AboutDlgProc(word word word long) AboutDlgProc
|
21 pascal AboutDlgProc(word word word long) AboutDlgProc
|
||||||
22 pascal ComboLBoxWndProc(word word word long) ComboLBoxWndProc
|
22 pascal ComboLBoxWndProc(word word word long) ComboLBoxWndProc
|
||||||
24 pascal16 TASK_Reschedule() TASK_Reschedule
|
24 pascal16 TASK_Reschedule() TASK_Reschedule
|
||||||
26 register Win32CallToStart() PE_Win32CallToStart
|
|
||||||
27 pascal EntryAddrProc(word word) MODULE_GetEntryPoint
|
27 pascal EntryAddrProc(word word) MODULE_GetEntryPoint
|
||||||
28 pascal MyAlloc(word word word) MODULE_AllocateSegment
|
28 pascal MyAlloc(word word word) MODULE_AllocateSegment
|
||||||
30 pascal FormatCharDlgProc(word word word long) FormatCharDlgProc
|
30 pascal FormatCharDlgProc(word word word long) FormatCharDlgProc
|
||||||
|
@ -288,9 +287,9 @@ type win16
|
||||||
|
|
||||||
# VxDs. The first Vxd is at 400
|
# VxDs. The first Vxd is at 400
|
||||||
#
|
#
|
||||||
#400+VXD_ID register <VxD handler>(word) <VxD handler>
|
#400+VXD_ID register <VxD handler>() <VxD handler>
|
||||||
#
|
#
|
||||||
414 register VXD_Comm(word) VXD_Comm
|
414 register VXD_Comm() VXD_Comm
|
||||||
#415 register VXD_Printer(word) VXD_Printer
|
#415 register VXD_Printer() VXD_Printer
|
||||||
423 register VXD_Shell(word) VXD_Shell
|
423 register VXD_Shell() VXD_Shell
|
||||||
433 register VXD_PageFile(word) VXD_PageFile
|
433 register VXD_PageFile() VXD_PageFile
|
||||||
|
|
|
@ -13,12 +13,13 @@
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GDIOBJHDR header;
|
GDIOBJHDR header;
|
||||||
LOGBRUSH16 logbrush;
|
LOGBRUSH32 logbrush;
|
||||||
} BRUSHOBJ;
|
} BRUSHOBJ;
|
||||||
|
|
||||||
extern BOOL BRUSH_Init(void);
|
extern BOOL32 BRUSH_Init(void);
|
||||||
extern int BRUSH_GetObject( BRUSHOBJ * brush, int count, LPSTR buffer );
|
extern INT16 BRUSH_GetObject16( BRUSHOBJ * brush, INT16 count, LPSTR buffer );
|
||||||
|
extern INT32 BRUSH_GetObject32( BRUSHOBJ * brush, INT32 count, LPSTR buffer );
|
||||||
extern BOOL32 BRUSH_DeleteObject( HBRUSH16 hbrush, BRUSHOBJ * brush );
|
extern BOOL32 BRUSH_DeleteObject( HBRUSH16 hbrush, BRUSHOBJ * brush );
|
||||||
extern HBRUSH16 BRUSH_SelectObject(DC * dc, HBRUSH16 hbrush, BRUSHOBJ * brush);
|
extern HBRUSH32 BRUSH_SelectObject(DC * dc, HBRUSH32 hbrush, BRUSHOBJ * brush);
|
||||||
|
|
||||||
#endif /* __WINE_BRUSH_H */
|
#endif /* __WINE_BRUSH_H */
|
||||||
|
|
|
@ -32,8 +32,9 @@ extern const char *DOSFS_IsDevice( const char *name );
|
||||||
extern const char * DOSFS_GetUnixFileName( const char * name, int check_last );
|
extern const char * DOSFS_GetUnixFileName( const char * name, int check_last );
|
||||||
extern const char * DOSFS_GetDosTrueName( const char *name, int unix_format );
|
extern const char * DOSFS_GetDosTrueName( const char *name, int unix_format );
|
||||||
extern int DOSFS_GetDosFileName( const char *name, char *buffer, int len );
|
extern int DOSFS_GetDosFileName( const char *name, char *buffer, int len );
|
||||||
extern int DOSFS_FindNext( const char *path, const char *mask, int drive,
|
extern int DOSFS_FindNext( const char *path, const char *short_mask,
|
||||||
BYTE attr, int skip, DOS_DIRENT *entry );
|
const char *long_mask, int drive, BYTE attr,
|
||||||
|
int skip, DOS_DIRENT *entry );
|
||||||
|
|
||||||
|
|
||||||
extern int DOS_GetFreeSpace(int drive, long *size, long *available);
|
extern int DOS_GetFreeSpace(int drive, long *size, long *available);
|
||||||
|
|
|
@ -9,16 +9,17 @@
|
||||||
|
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
|
|
||||||
extern void NC_GetMinMaxInfo( HWND hwnd, POINT16 *maxSize, POINT16 *maxPos,
|
extern void NC_GetMinMaxInfo( WND *pWnd, POINT16 *maxSize, POINT16 *maxPos,
|
||||||
POINT16 *minTrack, POINT16 *maxTrack );
|
POINT16 *minTrack, POINT16 *maxTrack );
|
||||||
extern void NC_DoNCPaint( HWND hwnd, HRGN32 clip, BOOL suppress_menupaint );
|
extern void NC_DoNCPaint( HWND32 hwnd, HRGN32 clip, BOOL32 suppress_menupaint);
|
||||||
extern LONG NC_HandleNCPaint( HWND hwnd , HRGN32 clip);
|
extern LONG NC_HandleNCPaint( HWND32 hwnd , HRGN32 clip);
|
||||||
extern LONG NC_HandleNCActivate( WND *pwnd, WPARAM16 wParam );
|
extern LONG NC_HandleNCActivate( WND *pwnd, WPARAM16 wParam );
|
||||||
extern LONG NC_HandleNCCalcSize( WND *pWnd, RECT16 *winRect );
|
extern LONG NC_HandleNCCalcSize( WND *pWnd, RECT16 *winRect );
|
||||||
extern LONG NC_HandleNCHitTest( HWND hwnd, POINT16 pt );
|
extern LONG NC_HandleNCHitTest( HWND32 hwnd, POINT16 pt );
|
||||||
extern LONG NC_HandleNCLButtonDown( HWND hwnd, WPARAM16 wParam, LPARAM lParam );
|
extern LONG NC_HandleNCLButtonDown( HWND32 hwnd, WPARAM16 wParam,
|
||||||
|
LPARAM lParam );
|
||||||
extern LONG NC_HandleNCLButtonDblClk( WND *pWnd, WPARAM16 wParam, LPARAM lParam);
|
extern LONG NC_HandleNCLButtonDblClk( WND *pWnd, WPARAM16 wParam, LPARAM lParam);
|
||||||
extern LONG NC_HandleSysCommand( HWND hwnd, WPARAM16 wParam, POINT16 pt );
|
extern LONG NC_HandleSysCommand( HWND32 hwnd, WPARAM16 wParam, POINT16 pt );
|
||||||
extern LONG NC_HandleSetCursor( HWND hwnd, WPARAM16 wParam, LPARAM lParam );
|
extern LONG NC_HandleSetCursor( HWND32 hwnd, WPARAM16 wParam, LPARAM lParam );
|
||||||
|
|
||||||
#endif /* __WINE_NONCLIENT_H */
|
#endif /* __WINE_NONCLIENT_H */
|
||||||
|
|
|
@ -13,10 +13,11 @@
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GDIOBJHDR header;
|
GDIOBJHDR header;
|
||||||
LOGPEN16 logpen;
|
LOGPEN32 logpen;
|
||||||
} PENOBJ;
|
} PENOBJ;
|
||||||
|
|
||||||
extern int PEN_GetObject( PENOBJ * pen, int count, LPSTR buffer );
|
extern INT16 PEN_GetObject16( PENOBJ * pen, INT16 count, LPSTR buffer );
|
||||||
extern HPEN16 PEN_SelectObject( DC * dc, HPEN16 hpen, PENOBJ * pen );
|
extern INT32 PEN_GetObject32( PENOBJ * pen, INT32 count, LPSTR buffer );
|
||||||
|
extern HPEN32 PEN_SelectObject( DC * dc, HPEN32 hpen, PENOBJ * pen );
|
||||||
|
|
||||||
#endif /* __WINE_PEN_H */
|
#endif /* __WINE_PEN_H */
|
||||||
|
|
|
@ -17,8 +17,8 @@ typedef struct
|
||||||
} RGNOBJ;
|
} RGNOBJ;
|
||||||
|
|
||||||
|
|
||||||
extern BOOL16 REGION_DeleteObject( HRGN32 hrgn, RGNOBJ * obj );
|
extern BOOL32 REGION_DeleteObject( HRGN32 hrgn, RGNOBJ * obj );
|
||||||
extern BOOL16 REGION_UnionRectWithRgn( HRGN32 hrgn, LPRECT16 lpRect );
|
extern BOOL32 REGION_UnionRectWithRgn( HRGN32 hrgn, LPRECT16 lpRect );
|
||||||
extern BOOL16 REGION_FrameRgn( HRGN32 dest, HRGN32 src, INT32 x, INT32 y );
|
extern BOOL32 REGION_FrameRgn( HRGN32 dest, HRGN32 src, INT32 x, INT32 y );
|
||||||
|
|
||||||
#endif /* __WINE_REGION_H */
|
#endif /* __WINE_REGION_H */
|
||||||
|
|
|
@ -11,27 +11,27 @@
|
||||||
|
|
||||||
struct SysColorObjects
|
struct SysColorObjects
|
||||||
{
|
{
|
||||||
HBRUSH16 hbrushScrollbar; /* COLOR_SCROLLBAR */
|
HBRUSH32 hbrushScrollbar; /* COLOR_SCROLLBAR */
|
||||||
/* COLOR_BACKGROUND */
|
/* COLOR_BACKGROUND */
|
||||||
HBRUSH16 hbrushActiveCaption; /* COLOR_ACTIVECAPTION */
|
HBRUSH32 hbrushActiveCaption; /* COLOR_ACTIVECAPTION */
|
||||||
HBRUSH16 hbrushInactiveCaption; /* COLOR_INACTIVECAPTION */
|
HBRUSH32 hbrushInactiveCaption; /* COLOR_INACTIVECAPTION */
|
||||||
HBRUSH16 hbrushMenu; /* COLOR_MENU */
|
HBRUSH32 hbrushMenu; /* COLOR_MENU */
|
||||||
HBRUSH16 hbrushWindow; /* COLOR_WINDOW */
|
HBRUSH32 hbrushWindow; /* COLOR_WINDOW */
|
||||||
HPEN16 hpenWindowFrame; /* COLOR_WINDOWFRAME */
|
HPEN32 hpenWindowFrame; /* COLOR_WINDOWFRAME */
|
||||||
/* COLOR_MENUTEXT */
|
/* COLOR_MENUTEXT */
|
||||||
HPEN16 hpenWindowText; /* COLOR_WINDOWTEXT */
|
HPEN32 hpenWindowText; /* COLOR_WINDOWTEXT */
|
||||||
/* COLOR_CAPTIONTEXT */
|
/* COLOR_CAPTIONTEXT */
|
||||||
HBRUSH16 hbrushActiveBorder; /* COLOR_ACTIVEBORDER */
|
HBRUSH32 hbrushActiveBorder; /* COLOR_ACTIVEBORDER */
|
||||||
HBRUSH16 hbrushInactiveBorder; /* COLOR_INACTIVEBORDER */
|
HBRUSH32 hbrushInactiveBorder; /* COLOR_INACTIVEBORDER */
|
||||||
/* COLOR_APPWORKSPACE */
|
/* COLOR_APPWORKSPACE */
|
||||||
HBRUSH16 hbrushHighlight; /* COLOR_HIGHLIGHT */
|
HBRUSH32 hbrushHighlight; /* COLOR_HIGHLIGHT */
|
||||||
/* COLOR_HIGHLIGHTTEXT */
|
/* COLOR_HIGHLIGHTTEXT */
|
||||||
HBRUSH16 hbrushBtnFace; /* COLOR_BTNFACE */
|
HBRUSH32 hbrushBtnFace; /* COLOR_BTNFACE */
|
||||||
HBRUSH16 hbrushBtnShadow; /* COLOR_BTNSHADOW */
|
HBRUSH32 hbrushBtnShadow; /* COLOR_BTNSHADOW */
|
||||||
/* COLOR_GRAYTEXT */
|
/* COLOR_GRAYTEXT */
|
||||||
/* COLOR_BTNTEXT */
|
/* COLOR_BTNTEXT */
|
||||||
/* COLOR_INACTIVECAPTIONTEXT */
|
/* COLOR_INACTIVECAPTIONTEXT */
|
||||||
HBRUSH16 hbrushBtnHighlight; /* COLOR_BTNHIGHLIGHT */
|
HBRUSH32 hbrushBtnHighlight; /* COLOR_BTNHIGHLIGHT */
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void SYSCOLOR_Init(void);
|
extern void SYSCOLOR_Init(void);
|
||||||
|
|
|
@ -3639,6 +3639,7 @@ BOOL16 DCHook(HDC16,WORD,DWORD,LPARAM);
|
||||||
VOID DirectedYield(HTASK16);
|
VOID DirectedYield(HTASK16);
|
||||||
HGLOBAL16 DirectResAlloc(HINSTANCE16,WORD,UINT16);
|
HGLOBAL16 DirectResAlloc(HINSTANCE16,WORD,UINT16);
|
||||||
BOOL16 EnableHardwareInput(BOOL16);
|
BOOL16 EnableHardwareInput(BOOL16);
|
||||||
|
INT16 ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
|
||||||
HANDLE16 FarGetOwner(HGLOBAL16);
|
HANDLE16 FarGetOwner(HGLOBAL16);
|
||||||
VOID FarSetOwner(HGLOBAL16,HANDLE16);
|
VOID FarSetOwner(HGLOBAL16,HANDLE16);
|
||||||
VOID FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
|
VOID FillWindow(HWND16,HWND16,HDC16,HBRUSH16);
|
||||||
|
@ -3673,12 +3674,16 @@ WORD GlobalDOSFree(WORD);
|
||||||
WORD GlobalPageLock(HGLOBAL16);
|
WORD GlobalPageLock(HGLOBAL16);
|
||||||
WORD GlobalPageUnlock(HGLOBAL16);
|
WORD GlobalPageUnlock(HGLOBAL16);
|
||||||
INT16 InitApp(HINSTANCE16);
|
INT16 InitApp(HINSTANCE16);
|
||||||
|
INT16 IntersectVisRect(HDC16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL16 IsGDIObject(HGDIOBJ16);
|
||||||
BOOL16 IsSharedSelector(HANDLE16);
|
BOOL16 IsSharedSelector(HANDLE16);
|
||||||
BOOL16 IsTask(HTASK16);
|
BOOL16 IsTask(HTASK16);
|
||||||
HTASK16 IsTaskLocked(void);
|
HTASK16 IsTaskLocked(void);
|
||||||
BOOL16 LocalInit(HANDLE16,WORD,WORD);
|
BOOL16 LocalInit(HANDLE16,WORD,WORD);
|
||||||
HTASK16 LockCurrentTask(BOOL16);
|
HTASK16 LockCurrentTask(BOOL16);
|
||||||
|
DWORD MoveTo(HDC16,INT16,INT16);
|
||||||
DWORD OffsetViewportOrg(HDC16,INT16,INT16);
|
DWORD OffsetViewportOrg(HDC16,INT16,INT16);
|
||||||
|
INT16 OffsetVisRgn(HDC16,INT16,INT16);
|
||||||
DWORD OffsetWindowOrg(HDC16,INT16,INT16);
|
DWORD OffsetWindowOrg(HDC16,INT16,INT16);
|
||||||
VOID OldYield(void);
|
VOID OldYield(void);
|
||||||
INT16 OpenComm(LPCSTR,UINT16,UINT16);
|
INT16 OpenComm(LPCSTR,UINT16,UINT16);
|
||||||
|
@ -3686,9 +3691,12 @@ VOID PaintRect(HWND16,HWND16,HDC16,HBRUSH16,const RECT16*);
|
||||||
VOID PostEvent(HTASK16);
|
VOID PostEvent(HTASK16);
|
||||||
WORD PrestoChangoSelector(WORD,WORD);
|
WORD PrestoChangoSelector(WORD,WORD);
|
||||||
INT16 ReadComm(INT16,LPSTR,INT16);
|
INT16 ReadComm(INT16,LPSTR,INT16);
|
||||||
|
INT16 RestoreVisRgn(HDC16);
|
||||||
|
HRGN16 SaveVisRgn(HDC16);
|
||||||
DWORD ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
|
DWORD ScaleViewportExt(HDC16,INT16,INT16,INT16,INT16);
|
||||||
DWORD ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
|
DWORD ScaleWindowExt(HDC16,INT16,INT16,INT16,INT16);
|
||||||
WORD SelectorAccessRights(WORD,WORD,WORD);
|
WORD SelectorAccessRights(WORD,WORD,WORD);
|
||||||
|
INT16 SelectVisRgn(HDC16,HRGN16);
|
||||||
DWORD SetBitmapDimension(HBITMAP16,INT16,INT16);
|
DWORD SetBitmapDimension(HBITMAP16,INT16,INT16);
|
||||||
DWORD SetBrushOrg(HDC16,INT16,INT16);
|
DWORD SetBrushOrg(HDC16,INT16,INT16);
|
||||||
UINT16* SetCommEventMask(INT16,UINT16);
|
UINT16* SetCommEventMask(INT16,UINT16);
|
||||||
|
@ -3740,6 +3748,9 @@ DWORD GetFileInformationByHandle(HFILE,BY_HANDLE_FILE_INFORMATION*);
|
||||||
VOID GetLocalTime(LPSYSTEMTIME);
|
VOID GetLocalTime(LPSYSTEMTIME);
|
||||||
DWORD GetLogicalDrives(void);
|
DWORD GetLogicalDrives(void);
|
||||||
HANDLE32 GetProcessHeap(void);
|
HANDLE32 GetProcessHeap(void);
|
||||||
|
DWORD GetShortPathName32A(LPCSTR,LPSTR,DWORD);
|
||||||
|
DWORD GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
|
||||||
|
#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
|
||||||
HFILE GetStdHandle(DWORD);
|
HFILE GetStdHandle(DWORD);
|
||||||
BOOL32 GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
|
BOOL32 GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
|
||||||
VOID GetSystemTime(LPSYSTEMTIME);
|
VOID GetSystemTime(LPSYSTEMTIME);
|
||||||
|
@ -3801,21 +3812,14 @@ BOOL32 WriteFile(HFILE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
|
||||||
|
|
||||||
BOOL16 CheckDlgButton(HWND32,INT32,UINT32);
|
BOOL16 CheckDlgButton(HWND32,INT32,UINT32);
|
||||||
BOOL16 CheckRadioButton(HWND32,UINT32,UINT32,UINT32);
|
BOOL16 CheckRadioButton(HWND32,UINT32,UINT32,UINT32);
|
||||||
INT16 CombineRgn(HRGN32,HRGN32,HRGN32,INT32);
|
|
||||||
LONG CopyLZFile(HFILE,HFILE);
|
LONG CopyLZFile(HFILE,HFILE);
|
||||||
HBITMAP16 CreateBitmap(INT32,INT32,UINT32,UINT32,LPCVOID);
|
HBITMAP16 CreateBitmap(INT32,INT32,UINT32,UINT32,LPCVOID);
|
||||||
BOOL16 CreateCaret(HWND32,HBITMAP32,INT32,INT32);
|
BOOL16 CreateCaret(HWND32,HBITMAP32,INT32,INT32);
|
||||||
HBITMAP16 CreateCompatibleBitmap(HDC32,INT32,INT32);
|
HBITMAP16 CreateCompatibleBitmap(HDC32,INT32,INT32);
|
||||||
HBITMAP16 CreateDiscardableBitmap(HDC32,INT32,INT32);
|
HBITMAP16 CreateDiscardableBitmap(HDC32,INT32,INT32);
|
||||||
HRGN16 CreateEllipticRgn(INT32,INT32,INT32,INT32);
|
|
||||||
HRGN16 CreateRectRgn(INT32,INT32,INT32,INT32);
|
|
||||||
HRGN16 CreateRoundRectRgn(INT32,INT32,INT32,INT32,INT32,INT32);
|
|
||||||
BOOL16 DestroyCaret(void);
|
BOOL16 DestroyCaret(void);
|
||||||
BOOL16 EndDialog(HWND32,INT32);
|
BOOL16 EndDialog(HWND32,INT32);
|
||||||
BOOL16 EqualRgn(HRGN32,HRGN32);
|
|
||||||
INT16 ExcludeUpdateRgn(HDC32,HWND32);
|
INT16 ExcludeUpdateRgn(HDC32,HWND32);
|
||||||
BOOL16 ExtFloodFill(HDC32,INT32,INT32,COLORREF,UINT32);
|
|
||||||
BOOL16 FloodFill(HDC32,INT32,INT32,COLORREF);
|
|
||||||
DWORD GetAppCompatFlags(HTASK32);
|
DWORD GetAppCompatFlags(HTASK32);
|
||||||
LONG GetBitmapBits(HBITMAP32,LONG,LPVOID);
|
LONG GetBitmapBits(HBITMAP32,LONG,LPVOID);
|
||||||
WORD GetClassWord(HWND32,INT32);
|
WORD GetClassWord(HWND32,INT32);
|
||||||
|
@ -3833,9 +3837,7 @@ void LZDone(void);
|
||||||
HFILE LZInit(HFILE);
|
HFILE LZInit(HFILE);
|
||||||
LONG LZSeek(HFILE,LONG,INT32);
|
LONG LZSeek(HFILE,LONG,INT32);
|
||||||
INT16 LZStart(void);
|
INT16 LZStart(void);
|
||||||
INT16 OffsetRgn(HRGN32,INT32,INT32);
|
|
||||||
HFILE OpenFile(LPCSTR,OFSTRUCT*,UINT32);
|
HFILE OpenFile(LPCSTR,OFSTRUCT*,UINT32);
|
||||||
BOOL16 PtInRegion(HRGN32,INT32,INT32);
|
|
||||||
UINT16 RealizePalette(HDC32);
|
UINT16 RealizePalette(HDC32);
|
||||||
DWORD RegCloseKey(HKEY);
|
DWORD RegCloseKey(HKEY);
|
||||||
DWORD RegFlushKey(HKEY);
|
DWORD RegFlushKey(HKEY);
|
||||||
|
@ -3879,6 +3881,9 @@ BOOL16 AppendMenu16(HMENU16,UINT16,UINT16,SEGPTR);
|
||||||
BOOL32 AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
|
BOOL32 AppendMenu32A(HMENU32,UINT32,UINT32,LPCSTR);
|
||||||
BOOL32 AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
|
BOOL32 AppendMenu32W(HMENU32,UINT32,UINT32,LPCWSTR);
|
||||||
#define AppendMenu WINELIB_NAME_AW(AppendMenu)
|
#define AppendMenu WINELIB_NAME_AW(AppendMenu)
|
||||||
|
BOOL16 Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
|
||||||
|
#define Arc WINELIB_NAME(Arc)
|
||||||
HDC16 BeginPaint16(HWND16,LPPAINTSTRUCT16);
|
HDC16 BeginPaint16(HWND16,LPPAINTSTRUCT16);
|
||||||
HDC32 BeginPaint32(HWND32,LPPAINTSTRUCT32);
|
HDC32 BeginPaint32(HWND32,LPPAINTSTRUCT32);
|
||||||
#define BeginPaint WINELIB_NAME(BeginPaint)
|
#define BeginPaint WINELIB_NAME(BeginPaint)
|
||||||
|
@ -3930,6 +3935,9 @@ BOOL32 CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
|
||||||
HWND16 ChildWindowFromPoint16(HWND16,POINT16);
|
HWND16 ChildWindowFromPoint16(HWND16,POINT16);
|
||||||
HWND32 ChildWindowFromPoint32(HWND32,POINT32);
|
HWND32 ChildWindowFromPoint32(HWND32,POINT32);
|
||||||
#define ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
|
#define ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
|
||||||
|
BOOL16 Chord16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 Chord32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
|
||||||
|
#define Chord WINELIB_NAME(Chord)
|
||||||
INT16 ClearCommBreak16(INT16);
|
INT16 ClearCommBreak16(INT16);
|
||||||
BOOL32 ClearCommBreak32(INT32);
|
BOOL32 ClearCommBreak32(INT32);
|
||||||
#define ClearCommBreak WINELIB_NAME(ClearCommBreak)
|
#define ClearCommBreak WINELIB_NAME(ClearCommBreak)
|
||||||
|
@ -3942,6 +3950,9 @@ BOOL32 ClipCursor32(const RECT32*);
|
||||||
HMETAFILE16 CloseMetaFile16(HDC16);
|
HMETAFILE16 CloseMetaFile16(HDC16);
|
||||||
HMETAFILE32 CloseMetaFile32(HDC32);
|
HMETAFILE32 CloseMetaFile32(HDC32);
|
||||||
#define CloseMetaFile WINELIB_NAME(CloseMetaFile)
|
#define CloseMetaFile WINELIB_NAME(CloseMetaFile)
|
||||||
|
INT16 CombineRgn16(HRGN16,HRGN16,HRGN16,INT16);
|
||||||
|
INT32 CombineRgn32(HRGN32,HRGN32,HRGN32,INT32);
|
||||||
|
#define CombineRgn WINELIB_NAME(CombineRgn)
|
||||||
UINT16 CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
|
UINT16 CompareString16(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
|
||||||
UINT32 CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
|
UINT32 CompareString32A(DWORD,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
|
||||||
UINT32 CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
|
UINT32 CompareString32W(DWORD,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
|
||||||
|
@ -3958,6 +3969,9 @@ BOOL32 CopyRect32(RECT32*,const RECT32*);
|
||||||
HBITMAP16 CreateBitmapIndirect16(const BITMAP16*);
|
HBITMAP16 CreateBitmapIndirect16(const BITMAP16*);
|
||||||
HBITMAP32 CreateBitmapIndirect32(const BITMAP32*);
|
HBITMAP32 CreateBitmapIndirect32(const BITMAP32*);
|
||||||
#define CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
|
#define CreateBitmapIndirect WINELIB_NAME(CreateBitmapIndirect)
|
||||||
|
HBRUSH16 CreateBrushIndirect16(const LOGBRUSH16*);
|
||||||
|
HBRUSH32 CreateBrushIndirect32(const LOGBRUSH32*);
|
||||||
|
#define CreateBrushIndirect WINELIB_NAME(CreateBrushIndirect)
|
||||||
HWND16 CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
|
HWND16 CreateDialog16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
|
||||||
#define CreateDialog32A(inst,ptr,hwnd,dlg) \
|
#define CreateDialog32A(inst,ptr,hwnd,dlg) \
|
||||||
CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
|
CreateDialogParam32A(inst,ptr,hwnd,dlg,0)
|
||||||
|
@ -3978,10 +3992,16 @@ HWND16 CreateDialogParam16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16,LPARAM);
|
||||||
HWND32 CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
|
HWND32 CreateDialogParam32A(HINSTANCE32,LPCSTR,HWND32,DLGPROC32,LPARAM);
|
||||||
HWND32 CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
|
HWND32 CreateDialogParam32W(HINSTANCE32,LPCWSTR,HWND32,DLGPROC32,LPARAM);
|
||||||
#define CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
|
#define CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
|
||||||
|
HBRUSH16 CreateDIBPatternBrush16(HGLOBAL16,UINT16);
|
||||||
|
HBRUSH32 CreateDIBPatternBrush32(HGLOBAL32,UINT32);
|
||||||
|
#define CreateDIBPatternBrush WINELIB_NAME(CreateDIBPatternBrush)
|
||||||
BOOL16 CreateDirectory16(LPCSTR,LPVOID);
|
BOOL16 CreateDirectory16(LPCSTR,LPVOID);
|
||||||
BOOL32 CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
|
BOOL32 CreateDirectory32A(LPCSTR,LPSECURITY_ATTRIBUTES);
|
||||||
BOOL32 CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
|
BOOL32 CreateDirectory32W(LPCWSTR,LPSECURITY_ATTRIBUTES);
|
||||||
#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
|
#define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
|
||||||
|
HRGN16 CreateEllipticRgn16(INT16,INT16,INT16,INT16);
|
||||||
|
HRGN32 CreateEllipticRgn32(INT32,INT32,INT32,INT32);
|
||||||
|
#define CreateEllipticRgn WINELIB_NAME(CreateEllipticRgn)
|
||||||
HRGN16 CreateEllipticRgnIndirect16(const RECT16 *);
|
HRGN16 CreateEllipticRgnIndirect16(const RECT16 *);
|
||||||
HRGN32 CreateEllipticRgnIndirect32(const RECT32 *);
|
HRGN32 CreateEllipticRgnIndirect32(const RECT32 *);
|
||||||
#define CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
|
#define CreateEllipticRgnIndirect WINELIB_NAME(CreateEllipticRgnIndirect)
|
||||||
|
@ -3993,19 +4013,40 @@ HFONT16 CreateFontIndirect16(const LOGFONT16*);
|
||||||
HFONT32 CreateFontIndirect32A(const LOGFONT32A*);
|
HFONT32 CreateFontIndirect32A(const LOGFONT32A*);
|
||||||
HFONT32 CreateFontIndirect32W(const LOGFONT32W*);
|
HFONT32 CreateFontIndirect32W(const LOGFONT32W*);
|
||||||
#define CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
|
#define CreateFontIndirect WINELIB_NAME_AW(CreateFontIndirect)
|
||||||
|
HBRUSH16 CreateHatchBrush16(INT16,COLORREF);
|
||||||
|
HBRUSH32 CreateHatchBrush32(INT32,COLORREF);
|
||||||
|
#define CreateHatchBrush WINELIB_NAME(CreateHatchBrush)
|
||||||
HDC16 CreateMetaFile16(LPCSTR);
|
HDC16 CreateMetaFile16(LPCSTR);
|
||||||
HDC32 CreateMetaFile32A(LPCSTR);
|
HDC32 CreateMetaFile32A(LPCSTR);
|
||||||
HDC32 CreateMetaFile32W(LPCWSTR);
|
HDC32 CreateMetaFile32W(LPCWSTR);
|
||||||
#define CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
|
#define CreateMetaFile WINELIB_NAME_AW(CreateMetaFile)
|
||||||
|
HBRUSH16 CreatePatternBrush16(HBITMAP16);
|
||||||
|
HBRUSH32 CreatePatternBrush32(HBITMAP32);
|
||||||
|
#define CreatePatternBrush WINELIB_NAME(CreatePatternBrush)
|
||||||
|
HPEN16 CreatePen16(INT16,INT16,COLORREF);
|
||||||
|
HPEN32 CreatePen32(INT32,INT32,COLORREF);
|
||||||
|
#define CreatePen WINELIB_NAME(CreatePen)
|
||||||
|
HPEN16 CreatePenIndirect16(const LOGPEN16*);
|
||||||
|
HPEN32 CreatePenIndirect32(const LOGPEN32*);
|
||||||
|
#define CreatePenIndirect WINELIB_NAME(CreatePenIndirect)
|
||||||
HRGN16 CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
|
HRGN16 CreatePolyPolygonRgn16(const POINT16*,const INT16*,INT16,INT16);
|
||||||
HRGN32 CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
|
HRGN32 CreatePolyPolygonRgn32(const POINT32*,const INT32*,INT32,INT32);
|
||||||
#define CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
|
#define CreatePolyPolygonRgn WINELIB_NAME(CreatePolyPolygonRgn)
|
||||||
HRGN16 CreatePolygonRgn16(const POINT16*,INT16,INT16);
|
HRGN16 CreatePolygonRgn16(const POINT16*,INT16,INT16);
|
||||||
HRGN32 CreatePolygonRgn32(const POINT32*,INT32,INT32);
|
HRGN32 CreatePolygonRgn32(const POINT32*,INT32,INT32);
|
||||||
#define CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
|
#define CreatePolygonRgn WINELIB_NAME(CreatePolygonRgn)
|
||||||
|
HRGN16 CreateRectRgn16(INT16,INT16,INT16,INT16);
|
||||||
|
HRGN32 CreateRectRgn32(INT32,INT32,INT32,INT32);
|
||||||
|
#define CreateRectRgn WINELIB_NAME(CreateRectRgn)
|
||||||
HRGN16 CreateRectRgnIndirect16(const RECT16*);
|
HRGN16 CreateRectRgnIndirect16(const RECT16*);
|
||||||
HRGN32 CreateRectRgnIndirect32(const RECT32*);
|
HRGN32 CreateRectRgnIndirect32(const RECT32*);
|
||||||
#define CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
|
#define CreateRectRgnIndirect WINELIB_NAME(CreateRectRgnIndirect)
|
||||||
|
HRGN16 CreateRoundRectRgn16(INT16,INT16,INT16,INT16,INT16,INT16);
|
||||||
|
HRGN32 CreateRoundRectRgn32(INT32,INT32,INT32,INT32,INT32,INT32);
|
||||||
|
#define CreateRoundRectRgn WINELIB_NAME(CreateRoundRectRgn)
|
||||||
|
HBRUSH16 CreateSolidBrush16(COLORREF);
|
||||||
|
HBRUSH32 CreateSolidBrush32(COLORREF);
|
||||||
|
#define CreateSolidBrush WINELIB_NAME(CreateSolidBrush)
|
||||||
HWND16 CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
|
HWND16 CreateWindow16(LPCSTR,LPCSTR,DWORD,INT16,INT16,INT16,INT16,HWND16,HMENU16,HINSTANCE16,LPVOID);
|
||||||
#define CreateWindow32A(className,titleName,style,x,y,width,height,\
|
#define CreateWindow32A(className,titleName,style,x,y,width,height,\
|
||||||
parent,menu,instance,param) \
|
parent,menu,instance,param) \
|
||||||
|
@ -4043,6 +4084,9 @@ BOOL32 DeleteFile32W(LPCWSTR);
|
||||||
BOOL16 DeleteMetaFile16(HMETAFILE16);
|
BOOL16 DeleteMetaFile16(HMETAFILE16);
|
||||||
BOOL32 DeleteMetaFile32(HMETAFILE32);
|
BOOL32 DeleteMetaFile32(HMETAFILE32);
|
||||||
#define DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
|
#define DeleteMetaFile WINELIB_NAME(DeleteMetaFile)
|
||||||
|
BOOL16 DeleteObject16(HGDIOBJ16);
|
||||||
|
BOOL32 DeleteObject32(HGDIOBJ32);
|
||||||
|
#define DeleteObject WINELIB_NAME(DeleteObject)
|
||||||
INT16 DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
|
INT16 DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
|
||||||
#define DialogBox32A(inst,template,owner,func) \
|
#define DialogBox32A(inst,template,owner,func) \
|
||||||
DialogBoxParam32A(inst,template,owner,func,0)
|
DialogBoxParam32A(inst,template,owner,func,0)
|
||||||
|
@ -4083,6 +4127,9 @@ INT16 DrawText16(HDC16,LPCSTR,INT16,LPRECT16,UINT16);
|
||||||
INT32 DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
|
INT32 DrawText32A(HDC32,LPCSTR,INT32,LPRECT32,UINT32);
|
||||||
INT32 DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
|
INT32 DrawText32W(HDC32,LPCWSTR,INT32,LPRECT32,UINT32);
|
||||||
#define DrawText WINELIB_NAME_AW(DrawText)
|
#define DrawText WINELIB_NAME_AW(DrawText)
|
||||||
|
BOOL16 Ellipse16(HDC16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 Ellipse32(HDC32,INT32,INT32,INT32,INT32);
|
||||||
|
#define Ellipse WINELIB_NAME(Ellipse)
|
||||||
BOOL16 EnableScrollBar16(HWND16,INT16,UINT16);
|
BOOL16 EnableScrollBar16(HWND16,INT16,UINT16);
|
||||||
BOOL32 EnableScrollBar32(HWND32,INT32,UINT32);
|
BOOL32 EnableScrollBar32(HWND32,INT32,UINT32);
|
||||||
#define EnableScrollBar WINELIB_NAME(EnableScrollBar)
|
#define EnableScrollBar WINELIB_NAME(EnableScrollBar)
|
||||||
|
@ -4092,6 +4139,9 @@ BOOL32 EndPaint32(HWND32,const PAINTSTRUCT32*);
|
||||||
BOOL16 EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
|
BOOL16 EnumChildWindows16(HWND16,WNDENUMPROC16,LPARAM);
|
||||||
BOOL32 EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
|
BOOL32 EnumChildWindows32(HWND32,WNDENUMPROC32,LPARAM);
|
||||||
#define EnumChildWindows WINELIB_NAME(EnumChildWindows)
|
#define EnumChildWindows WINELIB_NAME(EnumChildWindows)
|
||||||
|
INT16 EnumObjects16(HDC16,INT16,GOBJENUMPROC16,LPARAM);
|
||||||
|
INT32 EnumObjects32(HDC32,INT32,GOBJENUMPROC32,LPARAM);
|
||||||
|
#define EnumObjects WINELIB_NAME(EnumObjects)
|
||||||
INT16 EnumProps16(HWND16,PROPENUMPROC16);
|
INT16 EnumProps16(HWND16,PROPENUMPROC16);
|
||||||
INT32 EnumProps32A(HWND32,PROPENUMPROC32A);
|
INT32 EnumProps32A(HWND32,PROPENUMPROC32A);
|
||||||
INT32 EnumProps32W(HWND32,PROPENUMPROC32W);
|
INT32 EnumProps32W(HWND32,PROPENUMPROC32W);
|
||||||
|
@ -4106,9 +4156,18 @@ BOOL32 EnumWindows32(WNDENUMPROC32,LPARAM);
|
||||||
BOOL16 EqualRect16(const RECT16*,const RECT16*);
|
BOOL16 EqualRect16(const RECT16*,const RECT16*);
|
||||||
BOOL32 EqualRect32(const RECT32*,const RECT32*);
|
BOOL32 EqualRect32(const RECT32*,const RECT32*);
|
||||||
#define EqualRect WINELIB_NAME(EqualRect)
|
#define EqualRect WINELIB_NAME(EqualRect)
|
||||||
|
BOOL16 EqualRgn16(HRGN16,HRGN16);
|
||||||
|
BOOL32 EqualRgn32(HRGN32,HRGN32);
|
||||||
|
#define EqualRgn WINELIB_NAME(EqualRgn)
|
||||||
LONG EscapeCommFunction16(UINT16,UINT16);
|
LONG EscapeCommFunction16(UINT16,UINT16);
|
||||||
BOOL32 EscapeCommFunction32(INT32,UINT32);
|
BOOL32 EscapeCommFunction32(INT32,UINT32);
|
||||||
#define EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
|
#define EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
|
||||||
|
INT16 ExcludeClipRect16(HDC16,INT16,INT16,INT16,INT16);
|
||||||
|
INT32 ExcludeClipRect32(HDC32,INT32,INT32,INT32,INT32);
|
||||||
|
#define ExcludeClipRect WINELIB_NAME(ExcludeClipRect)
|
||||||
|
BOOL16 ExtFloodFill16(HDC16,INT16,INT16,COLORREF,UINT16);
|
||||||
|
BOOL32 ExtFloodFill32(HDC32,INT32,INT32,COLORREF,UINT32);
|
||||||
|
#define ExtFloodFill WINELIB_NAME(ExtFloodFill)
|
||||||
BOOL16 ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,LPCSTR,UINT16,const INT16*);
|
BOOL16 ExtTextOut16(HDC16,INT16,INT16,UINT16,const RECT16*,LPCSTR,UINT16,const INT16*);
|
||||||
BOOL32 ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,LPCSTR,UINT32,const INT32*);
|
BOOL32 ExtTextOut32A(HDC32,INT32,INT32,UINT32,const RECT32*,LPCSTR,UINT32,const INT32*);
|
||||||
BOOL32 ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,LPCWSTR,UINT32,const INT32*);
|
BOOL32 ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,LPCWSTR,UINT32,const INT32*);
|
||||||
|
@ -4116,6 +4175,9 @@ BOOL32 ExtTextOut32W(HDC32,INT32,INT32,UINT32,const RECT32*,LPCWSTR,UINT32,c
|
||||||
INT16 FillRect16(HDC16,const RECT16*,HBRUSH16);
|
INT16 FillRect16(HDC16,const RECT16*,HBRUSH16);
|
||||||
INT32 FillRect32(HDC32,const RECT32*,HBRUSH32);
|
INT32 FillRect32(HDC32,const RECT32*,HBRUSH32);
|
||||||
#define FillRect WINELIB_NAME(FillRect)
|
#define FillRect WINELIB_NAME(FillRect)
|
||||||
|
BOOL16 FillRgn16(HDC16,HRGN16,HBRUSH16);
|
||||||
|
BOOL32 FillRgn32(HDC32,HRGN32,HBRUSH32);
|
||||||
|
#define FillRgn WINELIB_NAME(FillRgn)
|
||||||
BOOL16 FindClose16(HANDLE16);
|
BOOL16 FindClose16(HANDLE16);
|
||||||
BOOL32 FindClose32(HANDLE32);
|
BOOL32 FindClose32(HANDLE32);
|
||||||
#define FindClose WINELIB_NAME(FindClose)
|
#define FindClose WINELIB_NAME(FindClose)
|
||||||
|
@ -4139,9 +4201,15 @@ HWND16 FindWindowEx16(HWND16,HWND16,SEGPTR,LPCSTR);
|
||||||
HWND32 FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
|
HWND32 FindWindowEx32A(HWND32,HWND32,LPCSTR,LPCSTR);
|
||||||
HWND32 FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
|
HWND32 FindWindowEx32W(HWND32,HWND32,LPCWSTR,LPCWSTR);
|
||||||
#define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
|
#define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
|
||||||
|
BOOL16 FloodFill16(HDC16,INT16,INT16,COLORREF);
|
||||||
|
BOOL32 FloodFill32(HDC32,INT32,INT32,COLORREF);
|
||||||
|
#define FloodFill WINELIB_NAME(FloodFill)
|
||||||
INT16 FrameRect16(HDC16,const RECT16*,HBRUSH16);
|
INT16 FrameRect16(HDC16,const RECT16*,HBRUSH16);
|
||||||
INT32 FrameRect32(HDC32,const RECT32*,HBRUSH32);
|
INT32 FrameRect32(HDC32,const RECT32*,HBRUSH32);
|
||||||
#define FrameRect WINELIB_NAME(FrameRect)
|
#define FrameRect WINELIB_NAME(FrameRect)
|
||||||
|
BOOL16 FrameRgn16(HDC16,HRGN16,HBRUSH16,INT16,INT16);
|
||||||
|
BOOL32 FrameRgn32(HDC32,HRGN32,HBRUSH32,INT32,INT32);
|
||||||
|
#define FrameRgn WINELIB_NAME(FrameRgn)
|
||||||
BOOL16 FreeModule16(HMODULE16);
|
BOOL16 FreeModule16(HMODULE16);
|
||||||
#define FreeModule32(handle) FreeLibrary32(handle)
|
#define FreeModule32(handle) FreeLibrary32(handle)
|
||||||
#define FreeModule WINELIB_NAME(FreeModule)
|
#define FreeModule WINELIB_NAME(FreeModule)
|
||||||
|
@ -4263,6 +4331,9 @@ INT32 GetObject32W(HANDLE32,INT32,LPVOID);
|
||||||
HWND16 GetParent16(HWND16);
|
HWND16 GetParent16(HWND16);
|
||||||
HWND32 GetParent32(HWND32);
|
HWND32 GetParent32(HWND32);
|
||||||
#define GetParent WINELIB_NAME(GetParent)
|
#define GetParent WINELIB_NAME(GetParent)
|
||||||
|
COLORREF GetPixel16(HDC16,INT16,INT16);
|
||||||
|
COLORREF GetPixel32(HDC32,INT32,INT32);
|
||||||
|
#define GetPixel WINELIB_NAME(GetPixel)
|
||||||
FARPROC16 GetProcAddress16(HMODULE16,SEGPTR);
|
FARPROC16 GetProcAddress16(HMODULE16,SEGPTR);
|
||||||
FARPROC32 GetProcAddress32(HMODULE32,LPCSTR);
|
FARPROC32 GetProcAddress32(HMODULE32,LPCSTR);
|
||||||
#define GetProcAddress WINELIB_NAME(GetProcAddress)
|
#define GetProcAddress WINELIB_NAME(GetProcAddress)
|
||||||
|
@ -4282,9 +4353,12 @@ INT32 GetScrollPos32(HWND32,INT32);
|
||||||
BOOL16 GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
|
BOOL16 GetScrollRange16(HWND16,INT16,LPINT16,LPINT16);
|
||||||
BOOL32 GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
|
BOOL32 GetScrollRange32(HWND32,INT32,LPINT32,LPINT32);
|
||||||
#define GetScrollRange WINELIB_NAME(GetScrollRange)
|
#define GetScrollRange WINELIB_NAME(GetScrollRange)
|
||||||
DWORD GetShortPathName32A(LPCSTR,LPSTR,DWORD);
|
HGDIOBJ16 GetStockObject16(INT16);
|
||||||
DWORD GetShortPathName32W(LPCWSTR,LPWSTR,DWORD);
|
HGDIOBJ32 GetStockObject32(INT32);
|
||||||
#define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
|
#define GetStockObject WINELIB_NAME(GetStockObject)
|
||||||
|
HBRUSH16 GetSysColorBrush16(INT16);
|
||||||
|
HBRUSH32 GetSysColorBrush32(INT32);
|
||||||
|
#define GetSysColorBrush WINELIB_NAME(GetSysColorBrush)
|
||||||
HWND16 GetSysModalWindow16(void);
|
HWND16 GetSysModalWindow16(void);
|
||||||
#define GetSysModalWindow32() ((HWND32)0)
|
#define GetSysModalWindow32() ((HWND32)0)
|
||||||
#define GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
|
#define GetSysModalWindow WINELIB_NAME(GetSysModalWindow)
|
||||||
|
@ -4398,6 +4472,9 @@ BOOL16 InsertMenu16(HMENU16,UINT16,UINT16,UINT16,SEGPTR);
|
||||||
BOOL32 InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
|
BOOL32 InsertMenu32A(HMENU32,UINT32,UINT32,UINT32,LPCSTR);
|
||||||
BOOL32 InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
|
BOOL32 InsertMenu32W(HMENU32,UINT32,UINT32,UINT32,LPCWSTR);
|
||||||
#define InsertMenu WINELIB_NAME_AW(InsertMenu)
|
#define InsertMenu WINELIB_NAME_AW(InsertMenu)
|
||||||
|
INT16 IntersectClipRect16(HDC16,INT16,INT16,INT16,INT16);
|
||||||
|
INT32 IntersectClipRect32(HDC32,INT32,INT32,INT32,INT32);
|
||||||
|
#define IntersectClipRect WINELIB_NAME(IntersectClipRect)
|
||||||
BOOL16 IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
|
BOOL16 IntersectRect16(LPRECT16,const RECT16*,const RECT16*);
|
||||||
BOOL32 IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
|
BOOL32 IntersectRect32(LPRECT32,const RECT32*,const RECT32*);
|
||||||
#define IntersectRect WINELIB_NAME(IntersectRect)
|
#define IntersectRect WINELIB_NAME(IntersectRect)
|
||||||
|
@ -4407,6 +4484,9 @@ void InvalidateRect32(HWND32,const RECT32*,BOOL32);
|
||||||
void InvertRect16(HDC16,const RECT16*);
|
void InvertRect16(HDC16,const RECT16*);
|
||||||
void InvertRect32(HDC32,const RECT32*);
|
void InvertRect32(HDC32,const RECT32*);
|
||||||
#define InvertRect WINELIB_NAME(InvertRect)
|
#define InvertRect WINELIB_NAME(InvertRect)
|
||||||
|
BOOL16 InvertRgn16(HDC16,HRGN16);
|
||||||
|
BOOL32 InvertRgn32(HDC32,HRGN32);
|
||||||
|
#define InvertRgn WINELIB_NAME(InvertRgn)
|
||||||
BOOL16 IsBadCodePtr16(SEGPTR);
|
BOOL16 IsBadCodePtr16(SEGPTR);
|
||||||
BOOL32 IsBadCodePtr32(FARPROC32);
|
BOOL32 IsBadCodePtr32(FARPROC32);
|
||||||
#define IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
|
#define IsBadCodePtr WINELIB_NAME(IsBadCodePtr)
|
||||||
|
@ -4461,6 +4541,9 @@ INT32 LZRead32(HFILE,LPVOID,UINT32);
|
||||||
VOID LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
|
VOID LineDDA16(INT16,INT16,INT16,INT16,LINEDDAPROC16,LPARAM);
|
||||||
BOOL32 LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
|
BOOL32 LineDDA32(INT32,INT32,INT32,INT32,LINEDDAPROC32,LPARAM);
|
||||||
#define LineDDA WINELIB_NAME(LineDDA)
|
#define LineDDA WINELIB_NAME(LineDDA)
|
||||||
|
BOOL16 LineTo16(HDC16,INT16,INT16);
|
||||||
|
BOOL32 LineTo32(HDC32,INT32,INT32);
|
||||||
|
#define LineTo WINELIB_NAME(LineTo)
|
||||||
HACCEL16 LoadAccelerators16(HINSTANCE16,SEGPTR);
|
HACCEL16 LoadAccelerators16(HINSTANCE16,SEGPTR);
|
||||||
HACCEL32 LoadAccelerators32A(HINSTANCE32,LPCSTR);
|
HACCEL32 LoadAccelerators32A(HINSTANCE32,LPCSTR);
|
||||||
HACCEL32 LoadAccelerators32W(HINSTANCE32,LPCWSTR);
|
HACCEL32 LoadAccelerators32W(HINSTANCE32,LPCWSTR);
|
||||||
|
@ -4556,19 +4639,31 @@ BOOL32 OemToChar32W(LPCSTR,LPWSTR);
|
||||||
BOOL32 OemToCharBuff32A(LPSTR,LPSTR,DWORD);
|
BOOL32 OemToCharBuff32A(LPSTR,LPSTR,DWORD);
|
||||||
BOOL32 OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
|
BOOL32 OemToCharBuff32W(LPCSTR,LPWSTR,DWORD);
|
||||||
#define OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
|
#define OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
|
||||||
|
INT16 OffsetClipRgn16(HDC16,INT16,INT16);
|
||||||
|
INT32 OffsetClipRgn32(HDC32,INT32,INT32);
|
||||||
|
#define OffsetClipRgn WINELIB_NAME(OffsetClipRgn)
|
||||||
void OffsetRect16(LPRECT16,INT16,INT16);
|
void OffsetRect16(LPRECT16,INT16,INT16);
|
||||||
void OffsetRect32(LPRECT32,INT32,INT32);
|
void OffsetRect32(LPRECT32,INT32,INT32);
|
||||||
#define OffsetRect WINELIB_NAME(OffsetRect)
|
#define OffsetRect WINELIB_NAME(OffsetRect)
|
||||||
|
INT16 OffsetRgn16(HRGN16,INT16,INT16);
|
||||||
|
INT32 OffsetRgn32(HRGN32,INT32,INT32);
|
||||||
|
#define OffsetRgn WINELIB_NAME(OffsetRgn)
|
||||||
BOOL16 OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
|
BOOL16 OffsetViewportOrgEx16(HDC16,INT16,INT16,LPPOINT16);
|
||||||
BOOL32 OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
|
BOOL32 OffsetViewportOrgEx32(HDC32,INT32,INT32,LPPOINT32);
|
||||||
#define OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
|
#define OffsetViewportOrgEx WINELIB_NAME(OffsetViewportOrgEx)
|
||||||
BOOL16 OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
|
BOOL16 OffsetWindowOrgEx16(HDC16,INT16,INT16,LPPOINT16);
|
||||||
BOOL32 OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
|
BOOL32 OffsetWindowOrgEx32(HDC32,INT32,INT32,LPPOINT32);
|
||||||
#define OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
|
#define OffsetWindowOrgEx WINELIB_NAME(OffsetWindowOrgEx)
|
||||||
|
BOOL16 PaintRgn16(HDC16,HRGN16);
|
||||||
|
BOOL32 PaintRgn32(HDC32,HRGN32);
|
||||||
|
#define PaintRgn WINELIB_NAME(PaintRgn)
|
||||||
BOOL16 PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
|
BOOL16 PeekMessage16(LPMSG16,HWND16,UINT16,UINT16,UINT16);
|
||||||
BOOL32 PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
|
BOOL32 PeekMessage32A(LPMSG32,HWND32,UINT32,UINT32,UINT32);
|
||||||
BOOL32 PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
|
BOOL32 PeekMessage32W(LPMSG32,HWND32,UINT32,UINT32,UINT32);
|
||||||
#define PeekMessage WINELIB_NAME_AW(PeekMessage)
|
#define PeekMessage WINELIB_NAME_AW(PeekMessage)
|
||||||
|
BOOL16 Pie16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 Pie32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
|
||||||
|
#define Pie WINELIB_NAME(Pie)
|
||||||
BOOL16 PolyPolygon16(HDC16,LPPOINT16,LPINT16,UINT16);
|
BOOL16 PolyPolygon16(HDC16,LPPOINT16,LPINT16,UINT16);
|
||||||
BOOL32 PolyPolygon32(HDC32,LPPOINT32,LPINT32,UINT32);
|
BOOL32 PolyPolygon32(HDC32,LPPOINT32,LPINT32,UINT32);
|
||||||
#define PolyPolygon WINELIB_NAME(PolyPolygon)
|
#define PolyPolygon WINELIB_NAME(PolyPolygon)
|
||||||
|
@ -4587,6 +4682,15 @@ BOOL16 PostAppMessage16(HTASK16,UINT16,WPARAM16,LPARAM);
|
||||||
BOOL16 PtInRect16(const RECT16*,POINT16);
|
BOOL16 PtInRect16(const RECT16*,POINT16);
|
||||||
BOOL32 PtInRect32(const RECT32*,POINT32);
|
BOOL32 PtInRect32(const RECT32*,POINT32);
|
||||||
#define PtInRect WINELIB_NAME(PtInRect)
|
#define PtInRect WINELIB_NAME(PtInRect)
|
||||||
|
BOOL16 PtInRegion16(HRGN16,INT16,INT16);
|
||||||
|
BOOL32 PtInRegion32(HRGN32,INT32,INT32);
|
||||||
|
#define PtInRegion WINELIB_NAME(PtInRegion)
|
||||||
|
BOOL16 PtVisible16(HDC16,INT16,INT16);
|
||||||
|
BOOL32 PtVisible32(HDC32,INT32,INT32);
|
||||||
|
#define PtVisible WINELIB_NAME(PtVisible)
|
||||||
|
BOOL16 Rectangle16(HDC16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 Rectangle32(HDC32,INT32,INT32,INT32,INT32);
|
||||||
|
#define Rectangle WINELIB_NAME(Rectangle)
|
||||||
BOOL16 RectInRegion16(HRGN16,const RECT16 *);
|
BOOL16 RectInRegion16(HRGN16,const RECT16 *);
|
||||||
BOOL32 RectInRegion32(HRGN32,const RECT32 *);
|
BOOL32 RectInRegion32(HRGN32,const RECT32 *);
|
||||||
#define RectInRegion WINELIB_NAME(RectInRegion)
|
#define RectInRegion WINELIB_NAME(RectInRegion)
|
||||||
|
@ -4659,6 +4763,9 @@ BOOL16 RemoveDirectory16(LPCSTR);
|
||||||
BOOL32 RemoveDirectory32A(LPCSTR);
|
BOOL32 RemoveDirectory32A(LPCSTR);
|
||||||
BOOL32 RemoveDirectory32W(LPCWSTR);
|
BOOL32 RemoveDirectory32W(LPCWSTR);
|
||||||
#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
|
#define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
|
||||||
|
BOOL16 RoundRect16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16);
|
||||||
|
BOOL32 RoundRect32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32);
|
||||||
|
#define RoundRect WINELIB_NAME(RoundRect)
|
||||||
BOOL16 ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
|
BOOL16 ScaleViewportExtEx16(HDC16,INT16,INT16,INT16,INT16,LPSIZE16);
|
||||||
BOOL32 ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
|
BOOL32 ScaleViewportExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
|
||||||
#define ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
|
#define ScaleViewportExtEx WINELIB_NAME(ScaleViewportExtEx)
|
||||||
|
@ -4668,6 +4775,12 @@ BOOL32 ScaleWindowExtEx32(HDC32,INT32,INT32,INT32,INT32,LPSIZE32);
|
||||||
void ScreenToClient16(HWND16,LPPOINT16);
|
void ScreenToClient16(HWND16,LPPOINT16);
|
||||||
void ScreenToClient32(HWND32,LPPOINT32);
|
void ScreenToClient32(HWND32,LPPOINT32);
|
||||||
#define ScreenToClient WINELIB_NAME(ScreenToClient)
|
#define ScreenToClient WINELIB_NAME(ScreenToClient)
|
||||||
|
INT16 SelectClipRgn16(HDC16,HRGN16);
|
||||||
|
INT32 SelectClipRgn32(HDC32,HRGN32);
|
||||||
|
#define SelectClipRgn WINELIB_NAME(SelectClipRgn)
|
||||||
|
HGDIOBJ16 SelectObject16(HDC16,HGDIOBJ16);
|
||||||
|
HGDIOBJ32 SelectObject32(HDC32,HGDIOBJ32);
|
||||||
|
#define SelectObject WINELIB_NAME(SelectObject)
|
||||||
LRESULT SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
|
LRESULT SendDlgItemMessage16(HWND16,INT16,UINT16,WPARAM16,LPARAM);
|
||||||
LRESULT SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
|
LRESULT SendDlgItemMessage32A(HWND32,INT32,UINT32,WPARAM32,LPARAM);
|
||||||
LRESULT SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
|
LRESULT SendDlgItemMessage32W(HWND32,INT32,UINT32,WPARAM32,LPARAM);
|
||||||
|
@ -4718,6 +4831,9 @@ UINT32 SetHandleCount32(UINT32);
|
||||||
void SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
|
void SetInternalWindowPos16(HWND16,UINT16,LPRECT16,LPPOINT16);
|
||||||
void SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
|
void SetInternalWindowPos32(HWND32,UINT32,LPRECT32,LPPOINT32);
|
||||||
#define SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
|
#define SetInternalWindowPos WINELIB_NAME(SetInternalWindowPos)
|
||||||
|
COLORREF SetPixel16(HDC16,INT16,INT16,COLORREF);
|
||||||
|
COLORREF SetPixel32(HDC32,INT32,INT32,COLORREF);
|
||||||
|
#define SetPixel WINELIB_NAME(SetPixel)
|
||||||
BOOL16 SetProp16(HWND16,LPCSTR,HANDLE16);
|
BOOL16 SetProp16(HWND16,LPCSTR,HANDLE16);
|
||||||
BOOL32 SetProp32A(HWND32,LPCSTR,HANDLE32);
|
BOOL32 SetProp32A(HWND32,LPCSTR,HANDLE32);
|
||||||
BOOL32 SetProp32W(HWND32,LPCWSTR,HANDLE32);
|
BOOL32 SetProp32W(HWND32,LPCWSTR,HANDLE32);
|
||||||
|
@ -4805,6 +4921,9 @@ BOOL32 UnionRect32(LPRECT32,const RECT32*,const RECT32*);
|
||||||
void UnlockSegment16(HGLOBAL16);
|
void UnlockSegment16(HGLOBAL16);
|
||||||
#define UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
|
#define UnlockSegment32(handle) GlobalUnfix((HANDLE32)(handle))
|
||||||
#define UnlockSegment WINELIB_NAME(UnlockSegment)
|
#define UnlockSegment WINELIB_NAME(UnlockSegment)
|
||||||
|
BOOL16 UnrealizeObject16(HGDIOBJ16);
|
||||||
|
BOOL32 UnrealizeObject32(HGDIOBJ32);
|
||||||
|
#define UnrealizeObject WINELIB_NAME(UnrealizeObject)
|
||||||
BOOL16 UnregisterClass16(SEGPTR,HINSTANCE16);
|
BOOL16 UnregisterClass16(SEGPTR,HINSTANCE16);
|
||||||
BOOL32 UnregisterClass32A(LPCSTR,HINSTANCE32);
|
BOOL32 UnregisterClass32A(LPCSTR,HINSTANCE32);
|
||||||
BOOL32 UnregisterClass32W(LPCWSTR,HINSTANCE32);
|
BOOL32 UnregisterClass32W(LPCWSTR,HINSTANCE32);
|
||||||
|
@ -4938,7 +5057,6 @@ void AnsiToOemBuff(LPCSTR,LPSTR,UINT);
|
||||||
LPSTR AnsiUpper(LPSTR);
|
LPSTR AnsiUpper(LPSTR);
|
||||||
UINT AnsiUpperBuff(LPSTR,UINT);
|
UINT AnsiUpperBuff(LPSTR,UINT);
|
||||||
BOOL AnyPopup(void);
|
BOOL AnyPopup(void);
|
||||||
BOOL Arc(HDC16,INT,INT,INT,INT,INT,INT,INT,INT);
|
|
||||||
UINT ArrangeIconicWindows(HWND);
|
UINT ArrangeIconicWindows(HWND);
|
||||||
HDWP16 BeginDeferWindowPos(INT);
|
HDWP16 BeginDeferWindowPos(INT);
|
||||||
BOOL BitBlt(HDC16,INT,INT,INT,INT,HDC16,INT,INT,DWORD);
|
BOOL BitBlt(HDC16,INT,INT,INT,INT,HDC16,INT,INT,DWORD);
|
||||||
|
@ -4948,7 +5066,6 @@ BOOL CallMsgFilter(SEGPTR,INT);
|
||||||
LRESULT CallNextHookEx(HHOOK,INT,WPARAM16,LPARAM);
|
LRESULT CallNextHookEx(HHOOK,INT,WPARAM16,LPARAM);
|
||||||
BOOL ChangeClipboardChain(HWND,HWND);
|
BOOL ChangeClipboardChain(HWND,HWND);
|
||||||
INT CheckMenuItem(HMENU16,UINT,UINT);
|
INT CheckMenuItem(HMENU16,UINT,UINT);
|
||||||
BOOL Chord(HDC16,INT,INT,INT,INT,INT,INT,INT,INT);
|
|
||||||
BOOL CloseClipboard(void);
|
BOOL CloseClipboard(void);
|
||||||
void CloseSound(void);
|
void CloseSound(void);
|
||||||
BOOL CloseWindow(HWND);
|
BOOL CloseWindow(HWND);
|
||||||
|
@ -4956,29 +5073,21 @@ int ConvertRequest(HWND,LPKANJISTRUCT);
|
||||||
HMETAFILE16 CopyMetaFile(HMETAFILE16,LPCSTR);
|
HMETAFILE16 CopyMetaFile(HMETAFILE16,LPCSTR);
|
||||||
INT CountClipboardFormats(void);
|
INT CountClipboardFormats(void);
|
||||||
INT CountVoiceNotes(INT);
|
INT CountVoiceNotes(INT);
|
||||||
HBRUSH16 CreateBrushIndirect(const LOGBRUSH16*);
|
|
||||||
HDC16 CreateCompatibleDC(HDC16);
|
HDC16 CreateCompatibleDC(HDC16);
|
||||||
HCURSOR16 CreateCursor(HINSTANCE16,INT,INT,INT,INT,const BYTE*,const BYTE*);
|
HCURSOR16 CreateCursor(HINSTANCE16,INT,INT,INT,INT,const BYTE*,const BYTE*);
|
||||||
HGLOBAL16 CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,const BYTE*,const BYTE*);
|
HGLOBAL16 CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,const BYTE*,const BYTE*);
|
||||||
HDC16 CreateDC(LPCSTR,LPCSTR,LPCSTR,const DEVMODE*);
|
HDC16 CreateDC(LPCSTR,LPCSTR,LPCSTR,const DEVMODE*);
|
||||||
HBRUSH16 CreateDIBPatternBrush(HGLOBAL16,UINT);
|
|
||||||
HBITMAP16 CreateDIBitmap(HDC16,BITMAPINFOHEADER*,DWORD,LPVOID,BITMAPINFO*,UINT);
|
HBITMAP16 CreateDIBitmap(HDC16,BITMAPINFOHEADER*,DWORD,LPVOID,BITMAPINFO*,UINT);
|
||||||
HBRUSH16 CreateHatchBrush(INT,COLORREF);
|
|
||||||
HDC16 CreateIC(LPCSTR,LPCSTR,LPCSTR,const DEVMODE*);
|
HDC16 CreateIC(LPCSTR,LPCSTR,LPCSTR,const DEVMODE*);
|
||||||
HICON16 CreateIcon(HINSTANCE16,INT,INT,BYTE,BYTE,const BYTE*,const BYTE*);
|
HICON16 CreateIcon(HINSTANCE16,INT,INT,BYTE,BYTE,const BYTE*,const BYTE*);
|
||||||
HMENU16 CreateMenu(void);
|
HMENU16 CreateMenu(void);
|
||||||
HPALETTE16 CreatePalette(const LOGPALETTE*);
|
HPALETTE16 CreatePalette(const LOGPALETTE*);
|
||||||
HBRUSH16 CreatePatternBrush(HBITMAP16);
|
|
||||||
HPEN16 CreatePen(INT,INT,COLORREF);
|
|
||||||
HPEN16 CreatePenIndirect(const LOGPEN16*);
|
|
||||||
HMENU16 CreatePopupMenu(void);
|
HMENU16 CreatePopupMenu(void);
|
||||||
HBRUSH16 CreateSolidBrush(COLORREF);
|
|
||||||
DWORD DefHookProc(short,WORD,DWORD,HHOOK*);
|
DWORD DefHookProc(short,WORD,DWORD,HHOOK*);
|
||||||
HDWP16 DeferWindowPos(HDWP16,HWND,HWND,INT,INT,INT,INT,UINT);
|
HDWP16 DeferWindowPos(HDWP16,HWND,HWND,INT,INT,INT,INT,UINT);
|
||||||
ATOM DeleteAtom(ATOM);
|
ATOM DeleteAtom(ATOM);
|
||||||
BOOL DeleteDC(HDC16);
|
BOOL DeleteDC(HDC16);
|
||||||
BOOL DeleteMenu(HMENU16,UINT,UINT);
|
BOOL DeleteMenu(HMENU16,UINT,UINT);
|
||||||
BOOL DeleteObject(HGDIOBJ16);
|
|
||||||
BOOL DestroyCursor(HCURSOR16);
|
BOOL DestroyCursor(HCURSOR16);
|
||||||
BOOL DestroyIcon(HICON16);
|
BOOL DestroyIcon(HICON16);
|
||||||
BOOL DestroyMenu(HMENU16);
|
BOOL DestroyMenu(HMENU16);
|
||||||
|
@ -4992,7 +5101,6 @@ DWORD DragObject(HWND, HWND, WORD, HANDLE16, WORD, HCURSOR16);
|
||||||
BOOL DrawIcon(HDC16,INT,INT,HICON16);
|
BOOL DrawIcon(HDC16,INT,INT,HICON16);
|
||||||
void DrawMenuBar(HWND);
|
void DrawMenuBar(HWND);
|
||||||
DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
|
DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
|
||||||
BOOL Ellipse(HDC16,INT,INT,INT,INT);
|
|
||||||
BOOL EmptyClipboard(void);
|
BOOL EmptyClipboard(void);
|
||||||
BOOL EnableMenuItem(HMENU16,UINT,UINT);
|
BOOL EnableMenuItem(HMENU16,UINT,UINT);
|
||||||
BOOL EnableWindow(HWND,BOOL);
|
BOOL EnableWindow(HWND,BOOL);
|
||||||
|
@ -5001,19 +5109,14 @@ UINT16 EnumClipboardFormats(UINT16);
|
||||||
INT EnumFontFamilies(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
|
INT EnumFontFamilies(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
|
||||||
INT EnumFonts(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
|
INT EnumFonts(HDC16,LPCSTR,FONTENUMPROC16,LPARAM);
|
||||||
BOOL EnumMetaFile(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
|
BOOL EnumMetaFile(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
|
||||||
INT EnumObjects(HDC16,INT,GOBJENUMPROC16,LPARAM);
|
|
||||||
INT Escape(HDC16,INT,INT,SEGPTR,SEGPTR);
|
INT Escape(HDC16,INT,INT,SEGPTR,SEGPTR);
|
||||||
int ExcludeClipRect(HDC16,short,short,short,short);
|
|
||||||
int ExcludeVisRect(HDC16,short,short,short,short);
|
|
||||||
BOOL ExitWindows(DWORD,WORD);
|
BOOL ExitWindows(DWORD,WORD);
|
||||||
HICON16 ExtractIcon(HINSTANCE16,LPCSTR,WORD);
|
HICON16 ExtractIcon(HINSTANCE16,LPCSTR,WORD);
|
||||||
void FatalAppExit(UINT,LPCSTR);
|
void FatalAppExit(UINT,LPCSTR);
|
||||||
void FatalExit(int);
|
void FatalExit(int);
|
||||||
BOOL FillRgn(HDC16,HRGN32,HBRUSH16);
|
|
||||||
ATOM FindAtom(SEGPTR);
|
ATOM FindAtom(SEGPTR);
|
||||||
HINSTANCE16 FindExecutable(LPCSTR,LPCSTR,LPSTR);
|
HINSTANCE16 FindExecutable(LPCSTR,LPCSTR,LPSTR);
|
||||||
BOOL FlashWindow(HWND,BOOL);
|
BOOL FlashWindow(HWND,BOOL);
|
||||||
BOOL FrameRgn(HDC16,HRGN32,HBRUSH16,int,int);
|
|
||||||
void FreeLibrary(HINSTANCE16);
|
void FreeLibrary(HINSTANCE16);
|
||||||
UINT GDIRealizePalette(HDC16);
|
UINT GDIRealizePalette(HDC16);
|
||||||
HPALETTE16 GDISelectPalette(HDC16,HPALETTE16,WORD);
|
HPALETTE16 GDISelectPalette(HDC16,HPALETTE16,WORD);
|
||||||
|
@ -5076,7 +5179,6 @@ WORD GetNearestPaletteIndex(HPALETTE16,DWORD);
|
||||||
HWND GetNextWindow(HWND,WORD);
|
HWND GetNextWindow(HWND,WORD);
|
||||||
HWND GetOpenClipboardWindow(void);
|
HWND GetOpenClipboardWindow(void);
|
||||||
WORD GetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
|
WORD GetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
|
||||||
DWORD GetPixel(HDC16,short,short);
|
|
||||||
WORD GetPolyFillMode(HDC16);
|
WORD GetPolyFillMode(HDC16);
|
||||||
int GetPriorityClipboardFormat(WORD*,short);
|
int GetPriorityClipboardFormat(WORD*,short);
|
||||||
UINT GetPrivateProfileInt(LPCSTR,LPCSTR,INT,LPCSTR);
|
UINT GetPrivateProfileInt(LPCSTR,LPCSTR,INT,LPCSTR);
|
||||||
|
@ -5087,7 +5189,6 @@ DWORD GetQueueStatus(UINT);
|
||||||
BOOL GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
|
BOOL GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
|
||||||
WORD GetROP2(HDC16);
|
WORD GetROP2(HDC16);
|
||||||
WORD GetRelAbs(HDC16);
|
WORD GetRelAbs(HDC16);
|
||||||
HGDIOBJ16 GetStockObject(INT16);
|
|
||||||
WORD GetStretchBltMode(HDC16);
|
WORD GetStretchBltMode(HDC16);
|
||||||
HMENU16 GetSubMenu(HMENU16,short);
|
HMENU16 GetSubMenu(HMENU16,short);
|
||||||
HMENU16 GetSystemMenu(HWND,BOOL);
|
HMENU16 GetSystemMenu(HWND,BOOL);
|
||||||
|
@ -5122,22 +5223,17 @@ BOOL HiliteMenuItem(HWND,HMENU16,UINT,UINT);
|
||||||
BOOL InSendMessage(void);
|
BOOL InSendMessage(void);
|
||||||
WORD InitAtomTable(WORD);
|
WORD InitAtomTable(WORD);
|
||||||
HRGN32 InquireVisRgn(HDC16);
|
HRGN32 InquireVisRgn(HDC16);
|
||||||
int IntersectClipRect(HDC16,short,short,short,short);
|
|
||||||
int IntersectVisRect(HDC16,short,short,short,short);
|
|
||||||
void InvalidateRgn(HWND32,HRGN32,BOOL32);
|
void InvalidateRgn(HWND32,HRGN32,BOOL32);
|
||||||
BOOL InvertRgn(HDC16,HRGN32);
|
|
||||||
BOOL IsChild(HWND,HWND);
|
BOOL IsChild(HWND,HWND);
|
||||||
BOOL IsClipboardFormatAvailable(WORD);
|
BOOL IsClipboardFormatAvailable(WORD);
|
||||||
BOOL IsDialogMessage(HWND,LPMSG16);
|
BOOL IsDialogMessage(HWND,LPMSG16);
|
||||||
WORD IsDlgButtonChecked(HWND,WORD);
|
WORD IsDlgButtonChecked(HWND,WORD);
|
||||||
BOOL16 IsGDIObject(HGDIOBJ16);
|
|
||||||
BOOL IsIconic(HWND);
|
BOOL IsIconic(HWND);
|
||||||
BOOL IsMenu(HMENU16);
|
BOOL IsMenu(HMENU16);
|
||||||
BOOL IsValidMetaFile(HMETAFILE16);
|
BOOL IsValidMetaFile(HMETAFILE16);
|
||||||
BOOL IsWindowEnabled(HWND);
|
BOOL IsWindowEnabled(HWND);
|
||||||
BOOL IsWindowVisible(HWND);
|
BOOL IsWindowVisible(HWND);
|
||||||
BOOL IsZoomed(HWND);
|
BOOL IsZoomed(HWND);
|
||||||
BOOL LineTo(HDC16,short,short);
|
|
||||||
HINSTANCE16 LoadLibrary(LPCSTR);
|
HINSTANCE16 LoadLibrary(LPCSTR);
|
||||||
HINSTANCE16 LoadModule(LPCSTR,LPVOID);
|
HINSTANCE16 LoadModule(LPCSTR,LPVOID);
|
||||||
FARPROC16 LocalNotify(FARPROC16);
|
FARPROC16 LocalNotify(FARPROC16);
|
||||||
|
@ -5145,19 +5241,15 @@ HMENU16 LookupMenuHandle(HMENU16,INT);
|
||||||
WORD MapVirtualKey(WORD,WORD);
|
WORD MapVirtualKey(WORD,WORD);
|
||||||
void MessageBeep(WORD);
|
void MessageBeep(WORD);
|
||||||
int MessageBox(HWND,LPCSTR,LPCSTR,WORD);
|
int MessageBox(HWND,LPCSTR,LPCSTR,WORD);
|
||||||
DWORD MoveTo(HDC16,short,short);
|
|
||||||
BOOL MoveWindow(HWND,short,short,short,short,BOOL);
|
BOOL MoveWindow(HWND,short,short,short,short,BOOL);
|
||||||
DWORD OemKeyScan(WORD);
|
DWORD OemKeyScan(WORD);
|
||||||
BOOL OemToAnsi(LPCSTR,LPSTR);
|
BOOL OemToAnsi(LPCSTR,LPSTR);
|
||||||
void OemToAnsiBuff(LPCSTR,LPSTR,INT);
|
void OemToAnsiBuff(LPCSTR,LPSTR,INT);
|
||||||
int OffsetClipRgn(HDC16,short,short);
|
|
||||||
BOOL OpenClipboard(HWND);
|
BOOL OpenClipboard(HWND);
|
||||||
BOOL OpenIcon(HWND);
|
BOOL OpenIcon(HWND);
|
||||||
int OpenSound(void);
|
int OpenSound(void);
|
||||||
void OutputDebugString(LPCSTR);
|
void OutputDebugString(LPCSTR);
|
||||||
BOOL PaintRgn(HDC16,HRGN32);
|
|
||||||
BOOL PatBlt(HDC16,short,short,short,short,DWORD);
|
BOOL PatBlt(HDC16,short,short,short,short,DWORD);
|
||||||
BOOL Pie(HDC16,INT,INT,INT,INT,INT,INT,INT,INT);
|
|
||||||
BOOL PlayMetaFile(HDC16,HMETAFILE16);
|
BOOL PlayMetaFile(HDC16,HMETAFILE16);
|
||||||
void PlayMetaFileRecord(HDC16,LPHANDLETABLE16,LPMETARECORD,WORD);
|
void PlayMetaFileRecord(HDC16,LPHANDLETABLE16,LPMETARECORD,WORD);
|
||||||
BOOL PostMessage(HWND,WORD,WORD,LONG);
|
BOOL PostMessage(HWND,WORD,WORD,LONG);
|
||||||
|
@ -5170,9 +5262,7 @@ void ProfSampRate(int,int);
|
||||||
void ProfSetup(int,int);
|
void ProfSetup(int,int);
|
||||||
void ProfStart(void);
|
void ProfStart(void);
|
||||||
void ProfStop(void);
|
void ProfStop(void);
|
||||||
BOOL PtVisible(HDC16,short,short);
|
|
||||||
WORD RealizeDefaultPalette(HDC16);
|
WORD RealizeDefaultPalette(HDC16);
|
||||||
BOOL Rectangle(HDC16,INT,INT,INT,INT);
|
|
||||||
WORD RegisterClipboardFormat(LPCSTR);
|
WORD RegisterClipboardFormat(LPCSTR);
|
||||||
BOOL RemoveFontResource(LPSTR);
|
BOOL RemoveFontResource(LPSTR);
|
||||||
BOOL RemoveMenu(HMENU16,UINT,UINT);
|
BOOL RemoveMenu(HMENU16,UINT,UINT);
|
||||||
|
@ -5180,18 +5270,12 @@ void ReplyMessage(LRESULT);
|
||||||
HDC16 ResetDC(HDC16,LPVOID);
|
HDC16 ResetDC(HDC16,LPVOID);
|
||||||
BOOL ResizePalette(HPALETTE16,UINT);
|
BOOL ResizePalette(HPALETTE16,UINT);
|
||||||
BOOL RestoreDC(HDC16,short);
|
BOOL RestoreDC(HDC16,short);
|
||||||
int RestoreVisRgn(HDC16);
|
|
||||||
BOOL RoundRect(HDC16,INT,INT,INT,INT,INT,INT);
|
|
||||||
int SaveDC(HDC16);
|
int SaveDC(HDC16);
|
||||||
HRGN32 SaveVisRgn(HDC16);
|
|
||||||
void ScrollChildren(HWND,UINT,WPARAM16,LPARAM);
|
void ScrollChildren(HWND,UINT,WPARAM16,LPARAM);
|
||||||
BOOL ScrollDC(HDC16,short,short,LPRECT16,LPRECT16,HRGN32,LPRECT16);
|
BOOL ScrollDC(HDC16,short,short,LPRECT16,LPRECT16,HRGN32,LPRECT16);
|
||||||
void ScrollWindow(HWND,short,short,LPRECT16,LPRECT16);
|
void ScrollWindow(HWND,short,short,LPRECT16,LPRECT16);
|
||||||
int ScrollWindowEx(HWND,short,short,LPRECT16,LPRECT16,HRGN32,LPRECT16,WORD);
|
int ScrollWindowEx(HWND,short,short,LPRECT16,LPRECT16,HRGN32,LPRECT16,WORD);
|
||||||
int SelectClipRgn(HDC16,HRGN32);
|
|
||||||
HGDIOBJ16 SelectObject(HDC16,HGDIOBJ16);
|
|
||||||
HPALETTE16 SelectPalette(HDC16,HPALETTE16,BOOL);
|
HPALETTE16 SelectPalette(HDC16,HPALETTE16,BOOL);
|
||||||
int SelectVisRgn(HDC16,HRGN32);
|
|
||||||
HWND SetActiveWindow(HWND);
|
HWND SetActiveWindow(HWND);
|
||||||
WORD SetBkMode(HDC16,WORD);
|
WORD SetBkMode(HDC16,WORD);
|
||||||
HANDLE16 SetClipboardData(WORD,HANDLE16);
|
HANDLE16 SetClipboardData(WORD,HANDLE16);
|
||||||
|
@ -5215,7 +5299,6 @@ BOOL SetMessageQueue(int);
|
||||||
HMETAFILE16 SetMetaFileBits(HGLOBAL16);
|
HMETAFILE16 SetMetaFileBits(HGLOBAL16);
|
||||||
WORD SetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
|
WORD SetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
|
||||||
HWND SetParent(HWND,HWND);
|
HWND SetParent(HWND,HWND);
|
||||||
COLORREF SetPixel(HDC16,short,short,COLORREF);
|
|
||||||
WORD SetPolyFillMode(HDC16,WORD);
|
WORD SetPolyFillMode(HDC16,WORD);
|
||||||
WORD SetROP2(HDC16,WORD);
|
WORD SetROP2(HDC16,WORD);
|
||||||
WORD SetRelAbs(HDC16,WORD);
|
WORD SetRelAbs(HDC16,WORD);
|
||||||
|
@ -5254,7 +5337,6 @@ int ToAscii(WORD,WORD,LPSTR,LPVOID,WORD);
|
||||||
INT16 TranslateAccelerator(HWND,HACCEL16,LPMSG16);
|
INT16 TranslateAccelerator(HWND,HACCEL16,LPMSG16);
|
||||||
BOOL TranslateMDISysAccel(HWND,LPMSG16);
|
BOOL TranslateMDISysAccel(HWND,LPMSG16);
|
||||||
BOOL TranslateMessage(LPMSG16);
|
BOOL TranslateMessage(LPMSG16);
|
||||||
BOOL UnrealizeObject(HGDIOBJ16);
|
|
||||||
int UpdateColors(HDC16);
|
int UpdateColors(HDC16);
|
||||||
void ValidateCodeSegments(void);
|
void ValidateCodeSegments(void);
|
||||||
LPSTR ValidateFreeSpaces(void);
|
LPSTR ValidateFreeSpaces(void);
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "stddebug.h"
|
#include "stddebug.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "callback.h"
|
#include "callback.h"
|
||||||
|
#include "xmalloc.h"
|
||||||
|
|
||||||
extern HINSTANCE16 PE_LoadModule( int fd, OFSTRUCT *ofs, LOADPARAMS* params );
|
extern HINSTANCE16 PE_LoadModule( int fd, OFSTRUCT *ofs, LOADPARAMS* params );
|
||||||
|
|
||||||
|
@ -514,7 +515,7 @@ static HMODULE16 MODULE_LoadExeHeader( HFILE hFile, OFSTRUCT *ofs )
|
||||||
fastload_length=ne_header.fastload_length<<ne_header.align_shift_count;
|
fastload_length=ne_header.fastload_length<<ne_header.align_shift_count;
|
||||||
dprintf_module( stddeb, "Using fast-load area offset=%x len=%d\n",
|
dprintf_module( stddeb, "Using fast-load area offset=%x len=%d\n",
|
||||||
fastload_offset, fastload_length );
|
fastload_offset, fastload_length );
|
||||||
if ((fastload = (char *)malloc( fastload_length )) != NULL)
|
if ((fastload = (char *)xmalloc( fastload_length )) != NULL)
|
||||||
{
|
{
|
||||||
_llseek( hFile, mz_header.ne_offset + fastload_offset, SEEK_SET );
|
_llseek( hFile, mz_header.ne_offset + fastload_offset, SEEK_SET );
|
||||||
if (_lread32(hFile, fastload, fastload_length) != fastload_length)
|
if (_lread32(hFile, fastload, fastload_length) != fastload_length)
|
||||||
|
@ -536,7 +537,7 @@ static HMODULE16 MODULE_LoadExeHeader( HFILE hFile, OFSTRUCT *ofs )
|
||||||
/* Get the segment table */
|
/* Get the segment table */
|
||||||
|
|
||||||
pModule->seg_table = (int)pData - (int)pModule;
|
pModule->seg_table = (int)pData - (int)pModule;
|
||||||
buffer = malloc( ne_header.n_segment_tab * sizeof(struct ne_segment_table_entry_s) );
|
buffer = xmalloc( ne_header.n_segment_tab * sizeof(struct ne_segment_table_entry_s) );
|
||||||
if (buffer)
|
if (buffer)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -153,8 +153,9 @@ FARPROC32 PE_FindExportedFunction(struct pe_data *pe, LPCSTR funcName)
|
||||||
name++;
|
name++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (funcName-exports->Base > exports->Number_Of_Functions) {
|
if (LOWORD(funcName)-exports->Base > exports->Number_Of_Functions) {
|
||||||
dprintf_win32(stddeb," ordinal %d out of range!\n",funcName);
|
dprintf_win32(stddeb," ordinal %d out of range!\n",
|
||||||
|
LOWORD(funcName));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return (FARPROC32)(load_addr+function[(int)funcName-exports->Base]);
|
return (FARPROC32)(load_addr+function[(int)funcName-exports->Base]);
|
||||||
|
@ -224,7 +225,7 @@ fixup_imports (struct pe_data *pe, HMODULE16 hModule)
|
||||||
if ((unsigned) *import_list & 0x80000000) {
|
if ((unsigned) *import_list & 0x80000000) {
|
||||||
int ordinal = *import_list & (0x80000000 - 1);
|
int ordinal = *import_list & (0x80000000 - 1);
|
||||||
dprintf_win32 (stddeb, "--- Ordinal %s,%d\n", Module, ordinal);
|
dprintf_win32 (stddeb, "--- Ordinal %s,%d\n", Module, ordinal);
|
||||||
*thunk_list = GetProcAddress32(MODULE_FindModule (Module),
|
*thunk_list = (unsigned)GetProcAddress32(MODULE_FindModule (Module),
|
||||||
(LPCSTR) ordinal);
|
(LPCSTR) ordinal);
|
||||||
if (!*thunk_list) {
|
if (!*thunk_list) {
|
||||||
fprintf(stderr,"No implementation for %s.%d, setting to NULL\n",
|
fprintf(stderr,"No implementation for %s.%d, setting to NULL\n",
|
||||||
|
@ -233,7 +234,7 @@ fixup_imports (struct pe_data *pe, HMODULE16 hModule)
|
||||||
}
|
}
|
||||||
} else { /* import by name */
|
} else { /* import by name */
|
||||||
dprintf_win32 (stddeb, "--- %s %s.%d\n", pe_name->Name, Module, pe_name->Hint);
|
dprintf_win32 (stddeb, "--- %s %s.%d\n", pe_name->Name, Module, pe_name->Hint);
|
||||||
*thunk_list = GetProcAddress32(MODULE_FindModule (Module),
|
*thunk_list = (unsigned)GetProcAddress32(MODULE_FindModule (Module),
|
||||||
pe_name->Name);
|
pe_name->Name);
|
||||||
if (!*thunk_list) {
|
if (!*thunk_list) {
|
||||||
fprintf(stderr, "No implementation for %s.%d(%s), setting to NULL\n",
|
fprintf(stderr, "No implementation for %s.%d(%s), setting to NULL\n",
|
||||||
|
@ -253,7 +254,7 @@ fixup_imports (struct pe_data *pe, HMODULE16 hModule)
|
||||||
/* not sure about this branch, but it seems to work */
|
/* not sure about this branch, but it seems to work */
|
||||||
int ordinal = *thunk_list & ~0x80000000;
|
int ordinal = *thunk_list & ~0x80000000;
|
||||||
dprintf_win32(stddeb,"--- Ordinal %s.%d\n",Module,ordinal);
|
dprintf_win32(stddeb,"--- Ordinal %s.%d\n",Module,ordinal);
|
||||||
*thunk_list = GetProcAddress32(MODULE_FindModule (Module),
|
*thunk_list = (unsigned)GetProcAddress32(MODULE_FindModule (Module),
|
||||||
(LPCSTR) ordinal);
|
(LPCSTR) ordinal);
|
||||||
if (!*thunk_list) {
|
if (!*thunk_list) {
|
||||||
fprintf(stderr, "No implementation for %s.%d, setting to NULL\n",
|
fprintf(stderr, "No implementation for %s.%d, setting to NULL\n",
|
||||||
|
@ -263,7 +264,7 @@ fixup_imports (struct pe_data *pe, HMODULE16 hModule)
|
||||||
} else {
|
} else {
|
||||||
dprintf_win32(stddeb,"--- %s %s.%d\n",
|
dprintf_win32(stddeb,"--- %s %s.%d\n",
|
||||||
pe_name->Name, Module, pe_name->Hint);
|
pe_name->Name, Module, pe_name->Hint);
|
||||||
*thunk_list = GetProcAddress32(MODULE_FindModule(Module),
|
*thunk_list = (unsigned)GetProcAddress32(MODULE_FindModule(Module),
|
||||||
pe_name->Name);
|
pe_name->Name);
|
||||||
if (!*thunk_list) {
|
if (!*thunk_list) {
|
||||||
fprintf(stderr, "No implementation for %s.%d, setting to NULL\n",
|
fprintf(stderr, "No implementation for %s.%d, setting to NULL\n",
|
||||||
|
@ -373,7 +374,7 @@ static struct pe_data *PE_LoadImage( int fd, HMODULE16 hModule, WORD offset )
|
||||||
{
|
{
|
||||||
struct pe_data *pe;
|
struct pe_data *pe;
|
||||||
int i, result;
|
int i, result;
|
||||||
unsigned int load_addr;
|
int load_addr;
|
||||||
struct Directory dir;
|
struct Directory dir;
|
||||||
char buffer[200];
|
char buffer[200];
|
||||||
DBG_ADDR daddr;
|
DBG_ADDR daddr;
|
||||||
|
@ -405,7 +406,7 @@ static struct pe_data *PE_LoadImage( int fd, HMODULE16 hModule, WORD offset )
|
||||||
I don't know if mmap("/dev/null"); would do any better.
|
I don't know if mmap("/dev/null"); would do any better.
|
||||||
What I'd really like to do is a Win32 style VirtualAlloc/MapViewOfFile
|
What I'd really like to do is a Win32 style VirtualAlloc/MapViewOfFile
|
||||||
sequence */
|
sequence */
|
||||||
load_addr = pe->load_addr = malloc(pe->vma_size);
|
load_addr = pe->load_addr = (int)xmalloc(pe->vma_size);
|
||||||
dprintf_win32(stddeb, "Load addr is really %x, range %x\n",
|
dprintf_win32(stddeb, "Load addr is really %x, range %x\n",
|
||||||
pe->load_addr, pe->vma_size);
|
pe->load_addr, pe->vma_size);
|
||||||
|
|
||||||
|
@ -416,7 +417,7 @@ static struct pe_data *PE_LoadImage( int fd, HMODULE16 hModule, WORD offset )
|
||||||
if(pe->pe_seg[i].Characteristics &
|
if(pe->pe_seg[i].Characteristics &
|
||||||
~ IMAGE_SCN_TYPE_CNT_UNINITIALIZED_DATA)
|
~ IMAGE_SCN_TYPE_CNT_UNINITIALIZED_DATA)
|
||||||
if(lseek(fd,pe->pe_seg[i].PointerToRawData,SEEK_SET) == -1
|
if(lseek(fd,pe->pe_seg[i].PointerToRawData,SEEK_SET) == -1
|
||||||
|| read(fd,load_addr + pe->pe_seg[i].Virtual_Address,
|
|| read(fd,(char *)load_addr + pe->pe_seg[i].Virtual_Address,
|
||||||
pe->pe_seg[i].Size_Of_Raw_Data)
|
pe->pe_seg[i].Size_Of_Raw_Data)
|
||||||
!= pe->pe_seg[i].Size_Of_Raw_Data)
|
!= pe->pe_seg[i].Size_Of_Raw_Data)
|
||||||
{
|
{
|
||||||
|
@ -471,37 +472,37 @@ static struct pe_data *PE_LoadImage( int fd, HMODULE16 hModule, WORD offset )
|
||||||
if(dir.Size)
|
if(dir.Size)
|
||||||
{
|
{
|
||||||
if(pe->pe_export &&
|
if(pe->pe_export &&
|
||||||
pe->pe_export!=load_addr+dir.Virtual_address)
|
(int)pe->pe_export!=load_addr+dir.Virtual_address)
|
||||||
fprintf(stderr,"wrong export directory??\n");
|
fprintf(stderr,"wrong export directory??\n");
|
||||||
/* always trust the directory */
|
/* always trust the directory */
|
||||||
pe->pe_export = load_addr+dir.Virtual_address;
|
pe->pe_export = (void *)(load_addr+dir.Virtual_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_IMPORT_DIRECTORY];
|
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_IMPORT_DIRECTORY];
|
||||||
if(dir.Size)
|
if(dir.Size)
|
||||||
{
|
{
|
||||||
if(pe->pe_import &&
|
if(pe->pe_import &&
|
||||||
pe->pe_import!=load_addr+dir.Virtual_address)
|
(int)pe->pe_import!=load_addr+dir.Virtual_address)
|
||||||
fprintf(stderr,"wrong import directory??\n");
|
fprintf(stderr,"wrong import directory??\n");
|
||||||
pe->pe_import = load_addr+dir.Virtual_address;
|
pe->pe_import = (void *)(load_addr+dir.Virtual_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_RESOURCE_DIRECTORY];
|
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_RESOURCE_DIRECTORY];
|
||||||
if(dir.Size)
|
if(dir.Size)
|
||||||
{
|
{
|
||||||
if(pe->pe_resource &&
|
if(pe->pe_resource &&
|
||||||
pe->pe_resource!=load_addr+dir.Virtual_address)
|
(int)pe->pe_resource!=load_addr+dir.Virtual_address)
|
||||||
fprintf(stderr,"wrong resource directory??\n");
|
fprintf(stderr,"wrong resource directory??\n");
|
||||||
pe->pe_resource = load_addr+dir.Virtual_address;
|
pe->pe_resource = (void *)(load_addr+dir.Virtual_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_BASE_RELOCATION_TABLE];
|
dir=pe->pe_header->opt_coff.DataDirectory[IMAGE_FILE_BASE_RELOCATION_TABLE];
|
||||||
if(dir.Size)
|
if(dir.Size)
|
||||||
{
|
{
|
||||||
if(pe->pe_reloc &&
|
if(pe->pe_reloc &&
|
||||||
pe->pe_reloc!=load_addr+dir.Virtual_address)
|
(int)pe->pe_reloc!=load_addr+dir.Virtual_address)
|
||||||
fprintf(stderr,"wrong relocation list??\n");
|
fprintf(stderr,"wrong relocation list??\n");
|
||||||
pe->pe_reloc = load_addr+dir.Virtual_address;
|
pe->pe_reloc = (void *)(load_addr+dir.Virtual_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pe->pe_header->opt_coff.DataDirectory
|
if(pe->pe_header->opt_coff.DataDirectory
|
||||||
|
@ -566,8 +567,6 @@ HINSTANCE16 PE_LoadModule( int fd, OFSTRUCT *ofs, LOADPARAMS* params )
|
||||||
HMODULE16 hModule;
|
HMODULE16 hModule;
|
||||||
HINSTANCE16 hInstance;
|
HINSTANCE16 hInstance;
|
||||||
NE_MODULE *pModule;
|
NE_MODULE *pModule;
|
||||||
SEGTABLEENTRY *pSegment;
|
|
||||||
FARPROC16 startup;
|
|
||||||
struct mz_header_s mz_header;
|
struct mz_header_s mz_header;
|
||||||
|
|
||||||
if ((hModule = MODULE_CreateDummyModule( ofs )) < 32) return hModule;
|
if ((hModule = MODULE_CreateDummyModule( ofs )) < 32) return hModule;
|
||||||
|
@ -577,13 +576,6 @@ HINSTANCE16 PE_LoadModule( int fd, OFSTRUCT *ofs, LOADPARAMS* params )
|
||||||
lseek( fd, 0, SEEK_SET );
|
lseek( fd, 0, SEEK_SET );
|
||||||
read( fd, &mz_header, sizeof(mz_header) );
|
read( fd, &mz_header, sizeof(mz_header) );
|
||||||
|
|
||||||
/* Set the startup address */
|
|
||||||
|
|
||||||
startup = MODULE_GetWndProcEntry16("Win32CallToStart");
|
|
||||||
pSegment = NE_SEG_TABLE(pModule) + pModule->cs - 1;
|
|
||||||
pSegment->selector = SELECTOROF(startup); /* FIXME */
|
|
||||||
pModule->ip = OFFSETOF(startup);
|
|
||||||
|
|
||||||
pModule->pe_module = PE_LoadImage( fd, hModule, mz_header.ne_offset );
|
pModule->pe_module = PE_LoadImage( fd, hModule, mz_header.ne_offset );
|
||||||
|
|
||||||
hInstance = MODULE_CreateInstance( hModule, params );
|
hInstance = MODULE_CreateInstance( hModule, params );
|
||||||
|
@ -598,28 +590,6 @@ HINSTANCE16 PE_LoadModule( int fd, OFSTRUCT *ofs, LOADPARAMS* params )
|
||||||
return hInstance;
|
return hInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PE_InitTEB(int hTEB);
|
|
||||||
|
|
||||||
void PE_InitializeDLLs(HMODULE16 hModule);
|
|
||||||
void PE_Win32CallToStart( SIGCONTEXT *context )
|
|
||||||
{
|
|
||||||
int fs;
|
|
||||||
HMODULE16 hModule;
|
|
||||||
NE_MODULE *pModule;
|
|
||||||
|
|
||||||
dprintf_win32(stddeb,"Going to start Win32 program\n");
|
|
||||||
InitTask( context );
|
|
||||||
hModule = GetExePtr( GetCurrentTask() );
|
|
||||||
pModule = MODULE_GetPtr( hModule );
|
|
||||||
InitApp( hModule );
|
|
||||||
fs=(int)GlobalAlloc16( GMEM_FIXED | GMEM_ZEROINIT, 0x10000 );
|
|
||||||
PE_InitTEB(fs);
|
|
||||||
__asm__ __volatile__("movw %w0,%%fs"::"r" (fs));
|
|
||||||
PE_InitializeDLLs( hModule );
|
|
||||||
CallTaskStart32( (FARPROC32)(pModule->pe_module->load_addr +
|
|
||||||
pModule->pe_module->pe_header->opt_coff.AddressOfEntryPoint) );
|
|
||||||
}
|
|
||||||
|
|
||||||
int PE_UnloadImage( HMODULE16 hModule )
|
int PE_UnloadImage( HMODULE16 hModule )
|
||||||
{
|
{
|
||||||
printf("PEunloadImage() called!\n");
|
printf("PEunloadImage() called!\n");
|
||||||
|
@ -647,7 +617,7 @@ static void PE_InitDLL(HMODULE16 hModule)
|
||||||
printf("InitPEDLL() called!\n");
|
printf("InitPEDLL() called!\n");
|
||||||
CallDLLEntryProc32( (FARPROC32)(pe->load_addr +
|
CallDLLEntryProc32( (FARPROC32)(pe->load_addr +
|
||||||
pe->pe_header->opt_coff.AddressOfEntryPoint),
|
pe->pe_header->opt_coff.AddressOfEntryPoint),
|
||||||
hModule, DLL_PROCESS_ATTACH, (void *)-1 );
|
hModule, DLL_PROCESS_ATTACH, -1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -655,12 +625,12 @@ static void PE_InitDLL(HMODULE16 hModule)
|
||||||
/* FIXME: This stuff is all on a "well it works" basis. An implementation
|
/* FIXME: This stuff is all on a "well it works" basis. An implementation
|
||||||
based on some kind of documentation would be greatly appreciated :-) */
|
based on some kind of documentation would be greatly appreciated :-) */
|
||||||
|
|
||||||
typedef struct
|
typedef struct _TEB
|
||||||
{
|
{
|
||||||
void *Except;
|
void *Except;
|
||||||
void *stack;
|
void *stack;
|
||||||
int dummy1[4];
|
int dummy1[4];
|
||||||
struct TEB *TEBDSAlias;
|
struct _TEB *TEBDSAlias;
|
||||||
int dummy2[2];
|
int dummy2[2];
|
||||||
int taskid;
|
int taskid;
|
||||||
} TEB;
|
} TEB;
|
||||||
|
@ -672,7 +642,7 @@ void PE_InitTEB(int hTEB)
|
||||||
|
|
||||||
pTask = (TDB *)(GlobalLock16(GetCurrentTask() & 0xffff));
|
pTask = (TDB *)(GlobalLock16(GetCurrentTask() & 0xffff));
|
||||||
pTEB = (TEB *)(GlobalLock16(hTEB));
|
pTEB = (TEB *)(GlobalLock16(hTEB));
|
||||||
pTEB->stack = pTask->esp;
|
pTEB->stack = (void *)pTask->esp;
|
||||||
pTEB->Except = (void *)(-1);
|
pTEB->Except = (void *)(-1);
|
||||||
pTEB->TEBDSAlias = pTEB;
|
pTEB->TEBDSAlias = pTEB;
|
||||||
pTEB->taskid = getpid();
|
pTEB->taskid = getpid();
|
||||||
|
|
|
@ -349,11 +349,33 @@ static BOOL TASK_FreeThunk( HTASK16 hTask, SEGPTR thunk )
|
||||||
#ifndef WINELIB
|
#ifndef WINELIB
|
||||||
static void TASK_CallToStart(void)
|
static void TASK_CallToStart(void)
|
||||||
{
|
{
|
||||||
int cs_reg, ds_reg, ip_reg;
|
int cs_reg, ds_reg, fs_reg, ip_reg;
|
||||||
TDB *pTask = (TDB *)GlobalLock16( hCurrentTask );
|
TDB *pTask = (TDB *)GlobalLock16( hCurrentTask );
|
||||||
NE_MODULE *pModule = MODULE_GetPtr( pTask->hModule );
|
NE_MODULE *pModule = MODULE_GetPtr( pTask->hModule );
|
||||||
SEGTABLEENTRY *pSegTable = NE_SEG_TABLE( pModule );
|
SEGTABLEENTRY *pSegTable = NE_SEG_TABLE( pModule );
|
||||||
|
|
||||||
|
IF1632_Saved16_ss = pTask->ss;
|
||||||
|
IF1632_Saved16_sp = pTask->sp;
|
||||||
|
|
||||||
|
if (pModule->flags & NE_FFLAGS_WIN32)
|
||||||
|
{
|
||||||
|
/* FIXME: all this is an ugly hack */
|
||||||
|
|
||||||
|
extern void PE_InitTEB( int hTEB );
|
||||||
|
extern void InitTask( SIGCONTEXT *context );
|
||||||
|
extern void PE_InitializeDLLs( HMODULE16 hModule );
|
||||||
|
|
||||||
|
InitTask( NULL );
|
||||||
|
InitApp( pTask->hModule );
|
||||||
|
fs_reg = (int)GlobalAlloc16( GMEM_FIXED | GMEM_ZEROINIT, 0x10000 );
|
||||||
|
PE_InitTEB( fs_reg );
|
||||||
|
__asm__ __volatile__("movw %w0,%%fs"::"r" (fs_reg));
|
||||||
|
PE_InitializeDLLs( pTask->hModule );
|
||||||
|
CallTaskStart32( (FARPROC32)(pModule->pe_module->load_addr +
|
||||||
|
pModule->pe_module->pe_header->opt_coff.AddressOfEntryPoint) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
/* Registers at initialization must be:
|
/* Registers at initialization must be:
|
||||||
* ax zero
|
* ax zero
|
||||||
* bx stack size in bytes
|
* bx stack size in bytes
|
||||||
|
@ -371,8 +393,6 @@ static void TASK_CallToStart(void)
|
||||||
ip_reg = pModule->ip;
|
ip_reg = pModule->ip;
|
||||||
ds_reg = pSegTable[pModule->dgroup - 1].selector;
|
ds_reg = pSegTable[pModule->dgroup - 1].selector;
|
||||||
|
|
||||||
IF1632_Saved16_ss = pTask->ss;
|
|
||||||
IF1632_Saved16_sp = pTask->sp;
|
|
||||||
dprintf_task( stddeb, "Starting main program: cs:ip=%04x:%04x ds=%04x ss:sp=%04x:%04x\n",
|
dprintf_task( stddeb, "Starting main program: cs:ip=%04x:%04x ds=%04x ss:sp=%04x:%04x\n",
|
||||||
cs_reg, ip_reg, ds_reg,
|
cs_reg, ip_reg, ds_reg,
|
||||||
IF1632_Saved16_ss, IF1632_Saved16_sp);
|
IF1632_Saved16_ss, IF1632_Saved16_sp);
|
||||||
|
@ -381,6 +401,7 @@ static void TASK_CallToStart(void)
|
||||||
pTask->hPDB /*es*/, 0 /*bp*/, 0 /*ax*/,
|
pTask->hPDB /*es*/, 0 /*bp*/, 0 /*ax*/,
|
||||||
pModule->stack_size /*bx*/, pModule->heap_size /*cx*/,
|
pModule->stack_size /*bx*/, pModule->heap_size /*cx*/,
|
||||||
0 /*dx*/, 0 /*si*/, ds_reg /*di*/ );
|
0 /*dx*/, 0 /*si*/, ds_reg /*di*/ );
|
||||||
|
}
|
||||||
|
|
||||||
/* This should never return */
|
/* This should never return */
|
||||||
fprintf( stderr, "TASK_CallToStart: Main program returned!\n" );
|
fprintf( stderr, "TASK_CallToStart: Main program returned!\n" );
|
||||||
|
@ -814,7 +835,7 @@ void InitTask( SIGCONTEXT *context )
|
||||||
LONG stacklow, stackhi;
|
LONG stacklow, stackhi;
|
||||||
|
|
||||||
#ifndef WINELIB
|
#ifndef WINELIB
|
||||||
EAX_reg(context) = 0;
|
if (context) EAX_reg(context) = 0;
|
||||||
#endif
|
#endif
|
||||||
if (!(pTask = (TDB *)GlobalLock16( hCurrentTask ))) return;
|
if (!(pTask = (TDB *)GlobalLock16( hCurrentTask ))) return;
|
||||||
if (!(pModule = MODULE_GetPtr( pTask->hModule ))) return;
|
if (!(pModule = MODULE_GetPtr( pTask->hModule ))) return;
|
||||||
|
@ -822,6 +843,8 @@ void InitTask( SIGCONTEXT *context )
|
||||||
#ifndef WINELIB
|
#ifndef WINELIB
|
||||||
NE_InitializeDLLs( pTask->hModule );
|
NE_InitializeDLLs( pTask->hModule );
|
||||||
|
|
||||||
|
if (context)
|
||||||
|
{
|
||||||
/* Registers on return are:
|
/* Registers on return are:
|
||||||
* ax 1 if OK, 0 on error
|
* ax 1 if OK, 0 on error
|
||||||
* cx stack limit in bytes
|
* cx stack limit in bytes
|
||||||
|
@ -837,6 +860,7 @@ void InitTask( SIGCONTEXT *context )
|
||||||
ESI_reg(context) = (DWORD)pTask->hPrevInstance;
|
ESI_reg(context) = (DWORD)pTask->hPrevInstance;
|
||||||
EDI_reg(context) = (DWORD)pTask->hInstance;
|
EDI_reg(context) = (DWORD)pTask->hInstance;
|
||||||
ES_reg (context) = (WORD)pTask->hPDB;
|
ES_reg (context) = (WORD)pTask->hPDB;
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize the local heap */
|
/* Initialize the local heap */
|
||||||
if ( pModule->heap_size )
|
if ( pModule->heap_size )
|
||||||
|
|
|
@ -144,7 +144,7 @@ void CLIPBOARD_DeleteRecord(LPCLIPFORMAT lpFormat)
|
||||||
{
|
{
|
||||||
if( lpFormat->wFormatID >= CF_GDIOBJFIRST &&
|
if( lpFormat->wFormatID >= CF_GDIOBJFIRST &&
|
||||||
lpFormat->wFormatID <= CF_GDIOBJLAST )
|
lpFormat->wFormatID <= CF_GDIOBJLAST )
|
||||||
DeleteObject(lpFormat->hData);
|
DeleteObject32(lpFormat->hData);
|
||||||
else if( lpFormat->hData )
|
else if( lpFormat->hData )
|
||||||
GlobalFree16(lpFormat->hData);
|
GlobalFree16(lpFormat->hData);
|
||||||
|
|
||||||
|
|
119
misc/commdlg.c
119
misc/commdlg.c
|
@ -218,7 +218,7 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
{
|
{
|
||||||
LPDRAWITEMSTRUCT16 lpdis = (LPDRAWITEMSTRUCT16)PTR_SEG_TO_LIN(lParam);
|
LPDRAWITEMSTRUCT16 lpdis = (LPDRAWITEMSTRUCT16)PTR_SEG_TO_LIN(lParam);
|
||||||
char *str;
|
char *str;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
HBITMAP16 hBitmap, hPrevBitmap;
|
HBITMAP16 hBitmap, hPrevBitmap;
|
||||||
BITMAP16 bm;
|
BITMAP16 bm;
|
||||||
HDC16 hMemDC;
|
HDC16 hMemDC;
|
||||||
|
@ -226,8 +226,8 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
if (lpdis->CtlType == ODT_LISTBOX && lpdis->CtlID == lst1)
|
if (lpdis->CtlType == ODT_LISTBOX && lpdis->CtlID == lst1)
|
||||||
{
|
{
|
||||||
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
||||||
hBrush = SelectObject(lpdis->hDC, GetStockObject(LTGRAY_BRUSH));
|
hBrush = SelectObject32(lpdis->hDC, GetStockObject32(LTGRAY_BRUSH));
|
||||||
SelectObject(lpdis->hDC, hBrush);
|
SelectObject32(lpdis->hDC, hBrush);
|
||||||
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
||||||
SendMessage16(lpdis->hwndItem, LB_GETTEXT16, lpdis->itemID,
|
SendMessage16(lpdis->hwndItem, LB_GETTEXT16, lpdis->itemID,
|
||||||
(LPARAM)SEGPTR_GET(str));
|
(LPARAM)SEGPTR_GET(str));
|
||||||
|
@ -251,8 +251,8 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
if (lpdis->CtlType == ODT_LISTBOX && lpdis->CtlID == lst2)
|
if (lpdis->CtlType == ODT_LISTBOX && lpdis->CtlID == lst2)
|
||||||
{
|
{
|
||||||
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
||||||
hBrush = SelectObject(lpdis->hDC, GetStockObject(LTGRAY_BRUSH));
|
hBrush = SelectObject32(lpdis->hDC, GetStockObject32(LTGRAY_BRUSH));
|
||||||
SelectObject(lpdis->hDC, hBrush);
|
SelectObject32(lpdis->hDC, hBrush);
|
||||||
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
||||||
SendMessage16(lpdis->hwndItem, LB_GETTEXT16, lpdis->itemID,
|
SendMessage16(lpdis->hwndItem, LB_GETTEXT16, lpdis->itemID,
|
||||||
(LPARAM)SEGPTR_GET(str));
|
(LPARAM)SEGPTR_GET(str));
|
||||||
|
@ -262,10 +262,10 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
TextOut16(lpdis->hDC, lpdis->rcItem.left + bm.bmWidth,
|
TextOut16(lpdis->hDC, lpdis->rcItem.left + bm.bmWidth,
|
||||||
lpdis->rcItem.top, str, strlen(str));
|
lpdis->rcItem.top, str, strlen(str));
|
||||||
hMemDC = CreateCompatibleDC(lpdis->hDC);
|
hMemDC = CreateCompatibleDC(lpdis->hDC);
|
||||||
hPrevBitmap = SelectObject(hMemDC, hBitmap);
|
hPrevBitmap = SelectObject32(hMemDC, hBitmap);
|
||||||
BitBlt(lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top,
|
BitBlt(lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top,
|
||||||
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
||||||
SelectObject(hMemDC, hPrevBitmap);
|
SelectObject32(hMemDC, hPrevBitmap);
|
||||||
DeleteDC(hMemDC);
|
DeleteDC(hMemDC);
|
||||||
if (lpdis->itemState != 0) InvertRect16(lpdis->hDC, &lpdis->rcItem);
|
if (lpdis->itemState != 0) InvertRect16(lpdis->hDC, &lpdis->rcItem);
|
||||||
SEGPTR_FREE(str);
|
SEGPTR_FREE(str);
|
||||||
|
@ -274,8 +274,8 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
if (lpdis->CtlType == ODT_COMBOBOX && lpdis->CtlID == cmb2)
|
if (lpdis->CtlType == ODT_COMBOBOX && lpdis->CtlID == cmb2)
|
||||||
{
|
{
|
||||||
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
if (!(str = SEGPTR_ALLOC(512))) return FALSE;
|
||||||
hBrush = SelectObject(lpdis->hDC, GetStockObject(LTGRAY_BRUSH));
|
hBrush = SelectObject32(lpdis->hDC, GetStockObject32(LTGRAY_BRUSH));
|
||||||
SelectObject(lpdis->hDC, hBrush);
|
SelectObject32(lpdis->hDC, hBrush);
|
||||||
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
FillRect16(lpdis->hDC, &lpdis->rcItem, hBrush);
|
||||||
SendMessage16(lpdis->hwndItem, CB_GETLBTEXT, lpdis->itemID,
|
SendMessage16(lpdis->hwndItem, CB_GETLBTEXT, lpdis->itemID,
|
||||||
(LPARAM)SEGPTR_GET(str));
|
(LPARAM)SEGPTR_GET(str));
|
||||||
|
@ -291,10 +291,10 @@ static LONG FILEDLG_WMDrawItem(HWND hWnd, WPARAM16 wParam, LPARAM lParam,int sav
|
||||||
TextOut16(lpdis->hDC, lpdis->rcItem.left + bm.bmWidth,
|
TextOut16(lpdis->hDC, lpdis->rcItem.left + bm.bmWidth,
|
||||||
lpdis->rcItem.top, str, strlen(str));
|
lpdis->rcItem.top, str, strlen(str));
|
||||||
hMemDC = CreateCompatibleDC(lpdis->hDC);
|
hMemDC = CreateCompatibleDC(lpdis->hDC);
|
||||||
hPrevBitmap = SelectObject(hMemDC, hBitmap);
|
hPrevBitmap = SelectObject32(hMemDC, hBitmap);
|
||||||
BitBlt(lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top,
|
BitBlt(lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top,
|
||||||
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
||||||
SelectObject(hMemDC, hPrevBitmap);
|
SelectObject32(hMemDC, hPrevBitmap);
|
||||||
DeleteDC(hMemDC);
|
DeleteDC(hMemDC);
|
||||||
if (lpdis->itemState != 0) InvertRect16(lpdis->hDC, &lpdis->rcItem);
|
if (lpdis->itemState != 0) InvertRect16(lpdis->hDC, &lpdis->rcItem);
|
||||||
SEGPTR_FREE(str);
|
SEGPTR_FREE(str);
|
||||||
|
@ -1476,24 +1476,24 @@ static void CC_PaintSelectedColor(HWND hDlg,COLORREF cr)
|
||||||
{
|
{
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
HWND hwnd=GetDlgItem(hDlg,0x2c5);
|
HWND hwnd=GetDlgItem(hDlg,0x2c5);
|
||||||
if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */
|
if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */
|
||||||
{
|
{
|
||||||
hdc=GetDC32(hwnd);
|
hdc=GetDC32(hwnd);
|
||||||
GetClientRect16 (hwnd, &rect) ;
|
GetClientRect16 (hwnd, &rect) ;
|
||||||
hBrush = CreateSolidBrush(cr);
|
hBrush = CreateSolidBrush32(cr);
|
||||||
if (hBrush)
|
if (hBrush)
|
||||||
{
|
{
|
||||||
hBrush = SelectObject (hdc, hBrush) ;
|
hBrush = SelectObject32 (hdc, hBrush) ;
|
||||||
Rectangle (hdc, rect.left,rect.top,rect.right/2,rect.bottom);
|
Rectangle32(hdc, rect.left,rect.top,rect.right/2,rect.bottom);
|
||||||
DeleteObject (SelectObject (hdc,hBrush)) ;
|
DeleteObject32 (SelectObject32 (hdc,hBrush)) ;
|
||||||
hBrush=CreateSolidBrush(GetNearestColor(hdc,cr));
|
hBrush=CreateSolidBrush32(GetNearestColor(hdc,cr));
|
||||||
if (hBrush)
|
if (hBrush)
|
||||||
{
|
{
|
||||||
hBrush= SelectObject (hdc, hBrush) ;
|
hBrush= SelectObject32 (hdc, hBrush) ;
|
||||||
Rectangle (hdc, rect.right/2-1,rect.top,rect.right,rect.bottom);
|
Rectangle32( hdc, rect.right/2-1,rect.top,rect.right,rect.bottom);
|
||||||
DeleteObject (SelectObject (hdc, hBrush)) ;
|
DeleteObject32( SelectObject32 (hdc, hBrush)) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReleaseDC32(hwnd,hdc);
|
ReleaseDC32(hwnd,hdc);
|
||||||
|
@ -1534,7 +1534,7 @@ static void CC_PaintTriangle(HWND hDlg,int y)
|
||||||
points[2].x=points[1].x=points[0].x + w;
|
points[2].x=points[1].x=points[0].x + w;
|
||||||
|
|
||||||
if (lpp->old3angle.left)
|
if (lpp->old3angle.left)
|
||||||
FillRect16(hDC,&lpp->old3angle,GetStockObject(WHITE_BRUSH));
|
FillRect16(hDC,&lpp->old3angle,GetStockObject32(WHITE_BRUSH));
|
||||||
lpp->old3angle.left =points[0].x;
|
lpp->old3angle.left =points[0].x;
|
||||||
lpp->old3angle.right =points[1].x+1;
|
lpp->old3angle.right =points[1].x+1;
|
||||||
lpp->old3angle.top =points[2].y-1;
|
lpp->old3angle.top =points[2].y-1;
|
||||||
|
@ -1556,15 +1556,15 @@ static void CC_PaintCross(HWND hDlg,int x,int y)
|
||||||
struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLong32A(hDlg, DWL_USER);
|
struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLong32A(hDlg, DWL_USER);
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
POINT16 point;
|
POINT16 point;
|
||||||
HPEN16 hPen;
|
HPEN32 hPen;
|
||||||
|
|
||||||
if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */
|
if (IsWindowVisible(GetDlgItem(hDlg,0x2c6))) /* if full size */
|
||||||
{
|
{
|
||||||
GetClientRect16(hwnd,&rect);
|
GetClientRect16(hwnd,&rect);
|
||||||
hDC=GetDC32(hwnd);
|
hDC=GetDC32(hwnd);
|
||||||
SelectClipRgn(hDC,CreateRectRgnIndirect16(&rect));
|
SelectClipRgn32(hDC,CreateRectRgnIndirect16(&rect));
|
||||||
hPen=CreatePen(PS_SOLID,2,0);
|
hPen=CreatePen32(PS_SOLID,2,0);
|
||||||
hPen=SelectObject(hDC,hPen);
|
hPen=SelectObject32(hDC,hPen);
|
||||||
point.x=((long)rect.right*(long)x)/(long)MAXHORI;
|
point.x=((long)rect.right*(long)x)/(long)MAXHORI;
|
||||||
point.y=rect.bottom-((long)rect.bottom*(long)y)/(long)MAXVERT;
|
point.y=rect.bottom-((long)rect.bottom*(long)y)/(long)MAXVERT;
|
||||||
if (lpp->oldcross.left!=lpp->oldcross.right)
|
if (lpp->oldcross.left!=lpp->oldcross.right)
|
||||||
|
@ -1578,10 +1578,10 @@ static void CC_PaintCross(HWND hDlg,int x,int y)
|
||||||
lpp->oldcross.bottom=point.y+w+1;
|
lpp->oldcross.bottom=point.y+w+1;
|
||||||
|
|
||||||
MoveTo(hDC,point.x-w,point.y);
|
MoveTo(hDC,point.x-w,point.y);
|
||||||
LineTo(hDC,point.x+w,point.y);
|
LineTo32(hDC,point.x+w,point.y);
|
||||||
MoveTo(hDC,point.x,point.y-w);
|
MoveTo(hDC,point.x,point.y-w);
|
||||||
LineTo(hDC,point.x,point.y+w);
|
LineTo32(hDC,point.x,point.y+w);
|
||||||
DeleteObject(SelectObject(hDC,hPen));
|
DeleteObject32(SelectObject32(hDC,hPen));
|
||||||
ReleaseDC32(hwnd,hDC);
|
ReleaseDC32(hwnd,hDC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1599,7 +1599,7 @@ static void CC_PrepareColorGraph(HWND hDlg)
|
||||||
int sdif,hdif,xdif,ydif,r,g,b,hue,sat;
|
int sdif,hdif,xdif,ydif,r,g,b,hue,sat;
|
||||||
HWND hwnd=GetDlgItem(hDlg,0x2c6);
|
HWND hwnd=GetDlgItem(hDlg,0x2c6);
|
||||||
struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLong32A(hDlg, DWL_USER);
|
struct CCPRIVATE * lpp=(struct CCPRIVATE *)GetWindowLong32A(hDlg, DWL_USER);
|
||||||
HBRUSH16 hbrush;
|
HBRUSH32 hbrush;
|
||||||
HDC32 hdc ;
|
HDC32 hdc ;
|
||||||
RECT16 rect,client;
|
RECT16 rect,client;
|
||||||
HCURSOR16 hcursor=SetCursor(LoadCursor16(0,IDC_WAIT));
|
HCURSOR16 hcursor=SetCursor(LoadCursor16(0,IDC_WAIT));
|
||||||
|
@ -1608,7 +1608,7 @@ static void CC_PrepareColorGraph(HWND hDlg)
|
||||||
hdc=GetDC32(hwnd);
|
hdc=GetDC32(hwnd);
|
||||||
lpp->hdcMem = CreateCompatibleDC(hdc);
|
lpp->hdcMem = CreateCompatibleDC(hdc);
|
||||||
lpp->hbmMem = CreateCompatibleBitmap(hdc,client.right,client.bottom);
|
lpp->hbmMem = CreateCompatibleBitmap(hdc,client.right,client.bottom);
|
||||||
SelectObject(lpp->hdcMem,lpp->hbmMem);
|
SelectObject32(lpp->hdcMem,lpp->hbmMem);
|
||||||
|
|
||||||
xdif=client.right /XSTEPS;
|
xdif=client.right /XSTEPS;
|
||||||
ydif=client.bottom/YSTEPS+1;
|
ydif=client.bottom/YSTEPS+1;
|
||||||
|
@ -1624,9 +1624,9 @@ static void CC_PrepareColorGraph(HWND hDlg)
|
||||||
r=CC_HSLtoRGB('R',hue,sat,120);
|
r=CC_HSLtoRGB('R',hue,sat,120);
|
||||||
g=CC_HSLtoRGB('G',hue,sat,120);
|
g=CC_HSLtoRGB('G',hue,sat,120);
|
||||||
b=CC_HSLtoRGB('B',hue,sat,120);
|
b=CC_HSLtoRGB('B',hue,sat,120);
|
||||||
hbrush=CreateSolidBrush(RGB(r,g,b));
|
hbrush=CreateSolidBrush32(RGB(r,g,b));
|
||||||
FillRect16(lpp->hdcMem,&rect,hbrush);
|
FillRect16(lpp->hdcMem,&rect,hbrush);
|
||||||
DeleteObject(hbrush);
|
DeleteObject32(hbrush);
|
||||||
rect.bottom=rect.top;
|
rect.bottom=rect.top;
|
||||||
}
|
}
|
||||||
rect.left=rect.right;
|
rect.left=rect.right;
|
||||||
|
@ -1666,7 +1666,7 @@ static void CC_PaintLumBar(HWND hDlg,int hue,int sat)
|
||||||
HWND hwnd=GetDlgItem(hDlg,0x2be);
|
HWND hwnd=GetDlgItem(hDlg,0x2be);
|
||||||
RECT16 rect,client;
|
RECT16 rect,client;
|
||||||
int lum,ldif,ydif,r,g,b;
|
int lum,ldif,ydif,r,g,b;
|
||||||
HBRUSH16 hbrush;
|
HBRUSH32 hbrush;
|
||||||
HDC32 hDC;
|
HDC32 hDC;
|
||||||
|
|
||||||
if (IsWindowVisible(hwnd))
|
if (IsWindowVisible(hwnd))
|
||||||
|
@ -1683,13 +1683,13 @@ static void CC_PaintLumBar(HWND hDlg,int hue,int sat)
|
||||||
r=CC_HSLtoRGB('R',hue,sat,lum);
|
r=CC_HSLtoRGB('R',hue,sat,lum);
|
||||||
g=CC_HSLtoRGB('G',hue,sat,lum);
|
g=CC_HSLtoRGB('G',hue,sat,lum);
|
||||||
b=CC_HSLtoRGB('B',hue,sat,lum);
|
b=CC_HSLtoRGB('B',hue,sat,lum);
|
||||||
hbrush=CreateSolidBrush(RGB(r,g,b));
|
hbrush=CreateSolidBrush32(RGB(r,g,b));
|
||||||
FillRect16(hDC,&rect,hbrush);
|
FillRect16(hDC,&rect,hbrush);
|
||||||
DeleteObject(hbrush);
|
DeleteObject32(hbrush);
|
||||||
rect.bottom=rect.top;
|
rect.bottom=rect.top;
|
||||||
}
|
}
|
||||||
GetClientRect16(hwnd,&rect);
|
GetClientRect16(hwnd,&rect);
|
||||||
FrameRect16(hDC,&rect,GetStockObject(BLACK_BRUSH));
|
FrameRect16(hDC,&rect,GetStockObject32(BLACK_BRUSH));
|
||||||
ReleaseDC32(hwnd,hDC);
|
ReleaseDC32(hwnd,hDC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1776,7 +1776,7 @@ static void CC_PaintPredefColorArray(HWND hDlg,int rows,int cols)
|
||||||
HWND hwnd=GetDlgItem(hDlg,0x2d0);
|
HWND hwnd=GetDlgItem(hDlg,0x2d0);
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
int dx,dy,i,j,k;
|
int dx,dy,i,j,k;
|
||||||
|
|
||||||
GetClientRect16(hwnd,&rect);
|
GetClientRect16(hwnd,&rect);
|
||||||
|
@ -1791,14 +1791,14 @@ static void CC_PaintPredefColorArray(HWND hDlg,int rows,int cols)
|
||||||
{
|
{
|
||||||
for (i=0;i<cols;i++)
|
for (i=0;i<cols;i++)
|
||||||
{
|
{
|
||||||
hBrush = CreateSolidBrush(predefcolors[j][i]);
|
hBrush = CreateSolidBrush32(predefcolors[j][i]);
|
||||||
if (hBrush)
|
if (hBrush)
|
||||||
{
|
{
|
||||||
hBrush = SelectObject (hdc, hBrush) ;
|
hBrush = SelectObject32 (hdc, hBrush) ;
|
||||||
Rectangle (hdc, rect.left, rect.top,
|
Rectangle32(hdc, rect.left, rect.top,
|
||||||
rect.left+dx-DISTANCE, rect.top+dy-DISTANCE);
|
rect.left+dx-DISTANCE, rect.top+dy-DISTANCE);
|
||||||
rect.left=rect.left+dx;
|
rect.left=rect.left+dx;
|
||||||
DeleteObject (SelectObject (hdc, hBrush)) ;
|
DeleteObject32( SelectObject32 (hdc, hBrush)) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rect.top=rect.top+dy;
|
rect.top=rect.top+dy;
|
||||||
|
@ -1815,7 +1815,7 @@ static void CC_PaintUserColorArray(HWND hDlg,int rows,int cols,COLORREF* lpcr)
|
||||||
HWND hwnd=GetDlgItem(hDlg,0x2d1);
|
HWND hwnd=GetDlgItem(hDlg,0x2d1);
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
HBRUSH16 hBrush;
|
HBRUSH32 hBrush;
|
||||||
int dx,dy,i,j,k;
|
int dx,dy,i,j,k;
|
||||||
|
|
||||||
GetClientRect16(hwnd,&rect);
|
GetClientRect16(hwnd,&rect);
|
||||||
|
@ -1831,14 +1831,14 @@ static void CC_PaintUserColorArray(HWND hDlg,int rows,int cols,COLORREF* lpcr)
|
||||||
{
|
{
|
||||||
for (i=0;i<cols;i++)
|
for (i=0;i<cols;i++)
|
||||||
{
|
{
|
||||||
hBrush = CreateSolidBrush(lpcr[i+j*cols]);
|
hBrush = CreateSolidBrush32(lpcr[i+j*cols]);
|
||||||
if (hBrush)
|
if (hBrush)
|
||||||
{
|
{
|
||||||
hBrush = SelectObject (hdc, hBrush) ;
|
hBrush = SelectObject32 (hdc, hBrush) ;
|
||||||
Rectangle (hdc, rect.left, rect.top,
|
Rectangle32( hdc, rect.left, rect.top,
|
||||||
rect.left+dx-DISTANCE, rect.top+dy-DISTANCE);
|
rect.left+dx-DISTANCE, rect.top+dy-DISTANCE);
|
||||||
rect.left=rect.left+dx;
|
rect.left=rect.left+dx;
|
||||||
DeleteObject (SelectObject (hdc, hBrush)) ;
|
DeleteObject32( SelectObject32 (hdc, hBrush)) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rect.top=rect.top+dy;
|
rect.top=rect.top+dy;
|
||||||
|
@ -2165,7 +2165,7 @@ LRESULT ColorDlgProc(HWND hDlg, UINT message,
|
||||||
return CC_WMInitDialog(hDlg,wParam,lParam);
|
return CC_WMInitDialog(hDlg,wParam,lParam);
|
||||||
case WM_NCDESTROY:
|
case WM_NCDESTROY:
|
||||||
DeleteDC(lpp->hdcMem);
|
DeleteDC(lpp->hdcMem);
|
||||||
DeleteObject(lpp->hbmMem);
|
DeleteObject32(lpp->hbmMem);
|
||||||
free(lpp);
|
free(lpp);
|
||||||
SetWindowLong32A(hDlg, DWL_USER, 0L); /* we don't need it anymore */
|
SetWindowLong32A(hDlg, DWL_USER, 0L); /* we don't need it anymore */
|
||||||
break;
|
break;
|
||||||
|
@ -2321,10 +2321,10 @@ static int SetFontStylesToCombo2(HWND hwnd, HDC16 hdc, LPLOGFONT16 lplf,
|
||||||
lplf->lfItalic=fontstyles[i].italic;
|
lplf->lfItalic=fontstyles[i].italic;
|
||||||
lplf->lfWeight=fontstyles[i].weight;
|
lplf->lfWeight=fontstyles[i].weight;
|
||||||
hf=CreateFontIndirect16(lplf);
|
hf=CreateFontIndirect16(lplf);
|
||||||
hf=SelectObject(hdc,hf);
|
hf=SelectObject32(hdc,hf);
|
||||||
GetTextMetrics16(hdc,lptm);
|
GetTextMetrics16(hdc,lptm);
|
||||||
hf=SelectObject(hdc,hf);
|
hf=SelectObject32(hdc,hf);
|
||||||
DeleteObject(hf);
|
DeleteObject32(hf);
|
||||||
|
|
||||||
if (lptm->tmWeight==fontstyles[i].weight &&
|
if (lptm->tmWeight==fontstyles[i].weight &&
|
||||||
lptm->tmItalic==fontstyles[i].italic) /* font successful created ? */
|
lptm->tmItalic==fontstyles[i].italic) /* font successful created ? */
|
||||||
|
@ -2568,8 +2568,8 @@ LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM16 wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (lpdi->CtlType == ODT_COMBOBOX)
|
if (lpdi->CtlType == ODT_COMBOBOX)
|
||||||
{
|
{
|
||||||
hBrush = SelectObject(lpdi->hDC, GetStockObject(LTGRAY_BRUSH));
|
hBrush = SelectObject32(lpdi->hDC, GetStockObject32(LTGRAY_BRUSH));
|
||||||
SelectObject(lpdi->hDC, hBrush);
|
SelectObject32(lpdi->hDC, hBrush);
|
||||||
FillRect16(lpdi->hDC, &lpdi->rcItem, hBrush);
|
FillRect16(lpdi->hDC, &lpdi->rcItem, hBrush);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2591,10 +2591,10 @@ LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM16 wParam, LPARAM lParam)
|
||||||
if (nFontType&TRUETYPE_FONTTYPE)
|
if (nFontType&TRUETYPE_FONTTYPE)
|
||||||
{
|
{
|
||||||
hMemDC = CreateCompatibleDC(lpdi->hDC);
|
hMemDC = CreateCompatibleDC(lpdi->hDC);
|
||||||
hBitmap = SelectObject(hMemDC, hBitmapTT);
|
hBitmap = SelectObject32(hMemDC, hBitmapTT);
|
||||||
BitBlt(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top,
|
BitBlt(lpdi->hDC, lpdi->rcItem.left, lpdi->rcItem.top,
|
||||||
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);
|
||||||
SelectObject(hMemDC, hBitmap);
|
SelectObject32(hMemDC, hBitmap);
|
||||||
DeleteDC(hMemDC);
|
DeleteDC(hMemDC);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -2613,16 +2613,17 @@ LRESULT CFn_WMDrawItem(HWND hDlg, WPARAM16 wParam, LPARAM lParam)
|
||||||
TextOut16(lpdi->hDC, lpdi->rcItem.left + 25+5,
|
TextOut16(lpdi->hDC, lpdi->rcItem.left + 25+5,
|
||||||
lpdi->rcItem.top, buffer, lstrlen16(buffer));
|
lpdi->rcItem.top, buffer, lstrlen16(buffer));
|
||||||
cr = SendMessage16(lpdi->hwndItem, CB_GETITEMDATA, lpdi->itemID,0L);
|
cr = SendMessage16(lpdi->hwndItem, CB_GETITEMDATA, lpdi->itemID,0L);
|
||||||
hBrush = CreateSolidBrush(cr);
|
hBrush = CreateSolidBrush32(cr);
|
||||||
if (hBrush)
|
if (hBrush)
|
||||||
{
|
{
|
||||||
hBrush = SelectObject (lpdi->hDC, hBrush) ;
|
hBrush = SelectObject32 (lpdi->hDC, hBrush) ;
|
||||||
rect.right=rect.left+25;
|
rect.right=rect.left+25;
|
||||||
rect.top++;
|
rect.top++;
|
||||||
rect.left+=5;
|
rect.left+=5;
|
||||||
rect.bottom--;
|
rect.bottom--;
|
||||||
Rectangle(lpdi->hDC,rect.left,rect.top,rect.right,rect.bottom);
|
Rectangle32( lpdi->hDC, rect.left, rect.top,
|
||||||
DeleteObject (SelectObject (lpdi->hDC, hBrush)) ;
|
rect.right, rect.bottom );
|
||||||
|
DeleteObject32( SelectObject32 (lpdi->hDC, hBrush)) ;
|
||||||
}
|
}
|
||||||
rect=lpdi->rcItem;
|
rect=lpdi->rcItem;
|
||||||
rect.left+=25+5;
|
rect.left+=25+5;
|
||||||
|
@ -2648,7 +2649,7 @@ LRESULT CFn_WMCtlColor(HWND hDlg, WPARAM16 wParam, LPARAM lParam)
|
||||||
if (HIWORD(lParam)==CTLCOLOR_STATIC && GetDlgCtrlID(LOWORD(lParam))==stc6)
|
if (HIWORD(lParam)==CTLCOLOR_STATIC && GetDlgCtrlID(LOWORD(lParam))==stc6)
|
||||||
{
|
{
|
||||||
SetTextColor(wParam,lpcf->rgbColors);
|
SetTextColor(wParam,lpcf->rgbColors);
|
||||||
return GetStockObject(WHITE_BRUSH);
|
return GetStockObject32(WHITE_BRUSH);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1030,7 +1030,7 @@ LPVOID GetEnvironmentStringsW(void)
|
||||||
wenvtable[count]=(WCHAR)envtable[count];
|
wenvtable[count]=(WCHAR)envtable[count];
|
||||||
free(envtable);
|
free(envtable);
|
||||||
|
|
||||||
return envtable;
|
return wenvtable;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreeEnvironmentStringsA(void *e)
|
void FreeEnvironmentStringsA(void *e)
|
||||||
|
|
|
@ -1204,7 +1204,8 @@ _w95_loadreg(char* fn,LPKEYSTRUCT lpkey) {
|
||||||
}
|
}
|
||||||
free(data);
|
free(data);
|
||||||
|
|
||||||
qsort(nr2da,nrofdkes,sizeof(nr2da[0]),_w95dkecomp);
|
qsort(nr2da,nrofdkes,sizeof(nr2da[0]),
|
||||||
|
(int(*)(const void *,const void*))_w95dkecomp);
|
||||||
|
|
||||||
/* STEP 2: keydata & values */
|
/* STEP 2: keydata & values */
|
||||||
if (!GetFileInformationByHandle(hfd,&hfdinfo))
|
if (!GetFileInformationByHandle(hfd,&hfdinfo))
|
||||||
|
|
|
@ -396,8 +396,8 @@ INT ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON16 hIcon)
|
||||||
if (!handle) return FALSE;
|
if (!handle) return FALSE;
|
||||||
bRet = DialogBoxIndirectParam16( WIN_GetWindowInstance( hWnd ),
|
bRet = DialogBoxIndirectParam16( WIN_GetWindowInstance( hWnd ),
|
||||||
handle, hWnd,
|
handle, hWnd,
|
||||||
MODULE_GetWndProcEntry16("AboutDlgProc"),
|
(DLGPROC16)MODULE_GetWndProcEntry16("AboutDlgProc"),
|
||||||
(LONG)hIcon );
|
(LPARAM)hIcon );
|
||||||
SYSRES_FreeResource( handle );
|
SYSRES_FreeResource( handle );
|
||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
36
misc/ver.c
36
misc/ver.c
|
@ -408,30 +408,36 @@ VerFindFile16(
|
||||||
DWORD
|
DWORD
|
||||||
VerFindFile32A(
|
VerFindFile32A(
|
||||||
UINT32 flags,LPCSTR filename,LPCSTR windir,LPCSTR appdir,
|
UINT32 flags,LPCSTR filename,LPCSTR windir,LPCSTR appdir,
|
||||||
LPSTR curdir,UINT32 *curdirlen,LPSTR destdir,UINT32 *destdirlen
|
LPSTR curdir,UINT32 *pcurdirlen,LPSTR destdir,UINT32 *pdestdirlen )
|
||||||
) {
|
{
|
||||||
return VerFindFile16(flags,filename,windir,appdir,curdir,curdirlen,destdir,destdirlen);
|
UINT16 curdirlen, destdirlen;
|
||||||
|
DWORD ret = VerFindFile16(flags,filename,windir,appdir,
|
||||||
|
curdir,&curdirlen,destdir,&destdirlen);
|
||||||
|
*pcurdirlen = curdirlen;
|
||||||
|
*pdestdirlen = destdirlen;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* VerFindFileW [VERSION.6] */
|
/* VerFindFileW [VERSION.6] */
|
||||||
DWORD
|
DWORD
|
||||||
VerFindFile32W(
|
VerFindFile32W(
|
||||||
UINT32 flags,LPCWSTR filename,LPCWSTR windir,LPCWSTR appdir,
|
UINT32 flags,LPCWSTR filename,LPCWSTR windir,LPCWSTR appdir,
|
||||||
LPWSTR curdir,UINT32 *curdirlen,LPWSTR destdir,UINT32 *destdirlen
|
LPWSTR curdir,UINT32 *pcurdirlen,LPWSTR destdir,UINT32 *pdestdirlen )
|
||||||
) {
|
{
|
||||||
|
UINT16 curdirlen, destdirlen;
|
||||||
LPSTR wfn,wwd,wad,wdd,wcd;
|
LPSTR wfn,wwd,wad,wdd,wcd;
|
||||||
DWORD ret;
|
DWORD ret;
|
||||||
|
|
||||||
wfn = strdupW2A(filename);
|
wfn = strdupW2A(filename);
|
||||||
wwd = strdupW2A(windir);
|
wwd = strdupW2A(windir);
|
||||||
wad = strdupW2A(appdir);
|
wad = strdupW2A(appdir);
|
||||||
wcd = (LPSTR)malloc(*curdirlen);
|
wcd = (LPSTR)malloc(*pcurdirlen);
|
||||||
wdd = (LPSTR)malloc(*destdirlen);
|
wdd = (LPSTR)malloc(*pdestdirlen);
|
||||||
ret=VerFindFile16(flags,wfn,wwd,wad,wcd,curdirlen,wdd,destdirlen);
|
ret=VerFindFile16(flags,wfn,wwd,wad,wcd,&curdirlen,wdd,&destdirlen);
|
||||||
STRING32_AnsiToUni(curdir,wcd);
|
STRING32_AnsiToUni(curdir,wcd);
|
||||||
STRING32_AnsiToUni(destdir,wdd);
|
STRING32_AnsiToUni(destdir,wdd);
|
||||||
*curdirlen = strlen(wcd);
|
*pcurdirlen = strlen(wcd);
|
||||||
*destdirlen = strlen(wdd);
|
*pdestdirlen = strlen(wdd);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,9 +460,13 @@ VerInstallFile16(
|
||||||
DWORD
|
DWORD
|
||||||
VerInstallFile32A(
|
VerInstallFile32A(
|
||||||
UINT32 flags,LPCSTR srcfilename,LPCSTR destfilename,LPCSTR srcdir,
|
UINT32 flags,LPCSTR srcfilename,LPCSTR destfilename,LPCSTR srcdir,
|
||||||
LPCSTR destdir,LPSTR tmpfile,UINT32 *tmpfilelen
|
LPCSTR destdir,LPSTR tmpfile,UINT32 *tmpfilelen )
|
||||||
) {
|
{
|
||||||
return VerInstallFile16(flags,srcfilename,destfilename,srcdir,destdir,tmpfile,tmpfilelen);
|
UINT16 filelen;
|
||||||
|
DWORD ret= VerInstallFile16(flags,srcfilename,destfilename,srcdir,
|
||||||
|
destdir,tmpfile,&filelen);
|
||||||
|
*tmpfilelen = filelen;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* VerFindFileW [VERSION.6] */
|
/* VerFindFileW [VERSION.6] */
|
||||||
|
|
|
@ -592,7 +592,7 @@ static int INT21_FindNext( SIGCONTEXT *context )
|
||||||
int count;
|
int count;
|
||||||
|
|
||||||
if (!dta->unixPath) return 0;
|
if (!dta->unixPath) return 0;
|
||||||
if (!(count = DOSFS_FindNext( dta->unixPath, dta->mask, dta->drive,
|
if (!(count = DOSFS_FindNext( dta->unixPath, dta->mask, NULL, dta->drive,
|
||||||
dta->search_attr, dta->count, &entry )))
|
dta->search_attr, dta->count, &entry )))
|
||||||
{
|
{
|
||||||
free( dta->unixPath );
|
free( dta->unixPath );
|
||||||
|
@ -741,7 +741,7 @@ static int INT21_FindNextFCB( SIGCONTEXT *context )
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pFCB->unixPath) return 0;
|
if (!pFCB->unixPath) return 0;
|
||||||
if (!(count = DOSFS_FindNext( pFCB->unixPath, pFCB->filename,
|
if (!(count = DOSFS_FindNext( pFCB->unixPath, pFCB->filename, NULL,
|
||||||
DOS_GET_DRIVE( pFCB->drive ), attr,
|
DOS_GET_DRIVE( pFCB->drive ), attr,
|
||||||
pFCB->count, &entry )))
|
pFCB->count, &entry )))
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,6 +13,14 @@
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define VXD_BARF(context,name) \
|
||||||
|
fprintf( stderr, "vxd %s: unknown/not implemented parameters:\n" \
|
||||||
|
"vxd %s: AX %04x, BX %04x, CX %04x, DX %04x, " \
|
||||||
|
"SI %04x, DI %04x, DS %04x, ES %04x\n", \
|
||||||
|
(name), (name), AX_reg(context), BX_reg(context), \
|
||||||
|
CX_reg(context), DX_reg(context), SI_reg(context), \
|
||||||
|
DI_reg(context), DS_reg(context), ES_reg(context) )
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* VXD_PageFile
|
* VXD_PageFile
|
||||||
*/
|
*/
|
||||||
|
@ -52,7 +60,7 @@ void VXD_PageFile( SIGCONTEXT *context )
|
||||||
case 0x05: /* cancel?? INTERRUP.D */
|
case 0x05: /* cancel?? INTERRUP.D */
|
||||||
case 0x06: /* test I/O valid INTERRUP.D */
|
case 0x06: /* test I/O valid INTERRUP.D */
|
||||||
default:
|
default:
|
||||||
INT_BARF( context, 0x2f);
|
VXD_BARF( context, "pagefile" );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +87,7 @@ void VXD_Shell( SIGCONTEXT *context )
|
||||||
case 0x0004:
|
case 0x0004:
|
||||||
case 0x0005:
|
case 0x0005:
|
||||||
dprintf_vxd(stddeb,"VxD Shell: EDX = %08lx\n",EDX_reg(context));
|
dprintf_vxd(stddeb,"VxD Shell: EDX = %08lx\n",EDX_reg(context));
|
||||||
INT_BARF( context, 0x2f);
|
VXD_BARF( context, "shell" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x0006: /* SHELL_Get_VM_State */
|
case 0x0006: /* SHELL_Get_VM_State */
|
||||||
|
@ -110,7 +118,7 @@ void VXD_Shell( SIGCONTEXT *context )
|
||||||
case 0x0016:
|
case 0x0016:
|
||||||
default:
|
default:
|
||||||
dprintf_vxd(stddeb,"VxD Shell: EDX = %08lx\n",EDX_reg(context));
|
dprintf_vxd(stddeb,"VxD Shell: EDX = %08lx\n",EDX_reg(context));
|
||||||
INT_BARF( context, 0x2f);
|
VXD_BARF( context, "shell");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,6 +143,6 @@ void VXD_Comm( SIGCONTEXT *context )
|
||||||
case 0x0002: /* get focus */
|
case 0x0002: /* get focus */
|
||||||
case 0x0003: /* virtualise port */
|
case 0x0003: /* virtualise port */
|
||||||
default:
|
default:
|
||||||
INT_BARF( context, 0x2f);
|
VXD_BARF( context, "comm" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -430,7 +430,7 @@ HBITMAP16 BITMAP_SelectObject( DC * dc, HBITMAP16 hbitmap,
|
||||||
SetRectRgn(dc->w.hVisRgn, 0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight );
|
SetRectRgn(dc->w.hVisRgn, 0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
hrgn = CreateRectRgn( 0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight );
|
hrgn = CreateRectRgn32(0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight);
|
||||||
if (!hrgn) return 0;
|
if (!hrgn) return 0;
|
||||||
dc->w.hVisRgn = hrgn;
|
dc->w.hVisRgn = hrgn;
|
||||||
}
|
}
|
||||||
|
|
197
objects/brush.c
197
objects/brush.c
|
@ -4,6 +4,7 @@
|
||||||
* Copyright 1993, 1994 Alexandre Julliard
|
* Copyright 1993, 1994 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "brush.h"
|
#include "brush.h"
|
||||||
#include "bitmap.h"
|
#include "bitmap.h"
|
||||||
|
@ -93,7 +94,7 @@ static XImage *ditherImage = NULL;
|
||||||
*
|
*
|
||||||
* Create the X image used for dithering.
|
* Create the X image used for dithering.
|
||||||
*/
|
*/
|
||||||
BOOL BRUSH_Init(void)
|
BOOL32 BRUSH_Init(void)
|
||||||
{
|
{
|
||||||
XCREATEIMAGE( ditherImage, MATRIX_SIZE, MATRIX_SIZE, screenDepth );
|
XCREATEIMAGE( ditherImage, MATRIX_SIZE, MATRIX_SIZE, screenDepth );
|
||||||
return (ditherImage != NULL);
|
return (ditherImage != NULL);
|
||||||
|
@ -139,37 +140,76 @@ Pixmap BRUSH_DitherColor( DC *dc, COLORREF color )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateBrushIndirect (GDI.50)
|
* CreateBrushIndirect16 (GDI.50)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 CreateBrushIndirect( const LOGBRUSH16 * brush )
|
HBRUSH16 CreateBrushIndirect16( const LOGBRUSH16 * brush )
|
||||||
{
|
{
|
||||||
BRUSHOBJ * brushPtr;
|
BRUSHOBJ * brushPtr;
|
||||||
HBRUSH16 hbrush = GDI_AllocObject( sizeof(BRUSHOBJ), BRUSH_MAGIC );
|
HBRUSH16 hbrush = GDI_AllocObject( sizeof(BRUSHOBJ), BRUSH_MAGIC );
|
||||||
if (!hbrush) return 0;
|
if (!hbrush) return 0;
|
||||||
brushPtr = (BRUSHOBJ *) GDI_HEAP_LIN_ADDR( hbrush );
|
brushPtr = (BRUSHOBJ *) GDI_HEAP_LIN_ADDR( hbrush );
|
||||||
memcpy( &brushPtr->logbrush, brush, sizeof(*brush) );
|
brushPtr->logbrush.lbStyle = brush->lbStyle;
|
||||||
|
brushPtr->logbrush.lbColor = brush->lbColor;
|
||||||
|
brushPtr->logbrush.lbHatch = brush->lbHatch;
|
||||||
return hbrush;
|
return hbrush;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateHatchBrush (GDI.58)
|
* CreateBrushIndirect32 (GDI32.27)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 CreateHatchBrush( INT style, COLORREF color )
|
HBRUSH32 CreateBrushIndirect32( const LOGBRUSH32 * brush )
|
||||||
{
|
{
|
||||||
LOGBRUSH16 logbrush = { BS_HATCHED, color, style };
|
BRUSHOBJ * brushPtr;
|
||||||
dprintf_gdi(stddeb, "CreateHatchBrush: %d %06lx\n", style, color );
|
HBRUSH32 hbrush = GDI_AllocObject( sizeof(BRUSHOBJ), BRUSH_MAGIC );
|
||||||
if ((style < 0) || (style >= NB_HATCH_STYLES)) return 0;
|
if (!hbrush) return 0;
|
||||||
return CreateBrushIndirect( &logbrush );
|
brushPtr = (BRUSHOBJ *) GDI_HEAP_LIN_ADDR( hbrush );
|
||||||
|
brushPtr->logbrush.lbStyle = brush->lbStyle;
|
||||||
|
brushPtr->logbrush.lbColor = brush->lbColor;
|
||||||
|
brushPtr->logbrush.lbHatch = brush->lbHatch;
|
||||||
|
return hbrush;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreatePatternBrush (GDI.60)
|
* CreateHatchBrush16 (GDI.58)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 CreatePatternBrush( HBITMAP16 hbitmap )
|
HBRUSH16 CreateHatchBrush16( INT16 style, COLORREF color )
|
||||||
{
|
{
|
||||||
LOGBRUSH16 logbrush = { BS_PATTERN, 0, 0 };
|
LOGBRUSH32 logbrush = { BS_HATCHED, color, style };
|
||||||
|
dprintf_gdi(stddeb, "CreateHatchBrush16: %d %06lx\n", style, color );
|
||||||
|
if ((style < 0) || (style >= NB_HATCH_STYLES)) return 0;
|
||||||
|
return CreateBrushIndirect32( &logbrush );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateHatchBrush32 (GDI32.48)
|
||||||
|
*/
|
||||||
|
HBRUSH32 CreateHatchBrush32( INT32 style, COLORREF color )
|
||||||
|
{
|
||||||
|
LOGBRUSH32 logbrush = { BS_HATCHED, color, style };
|
||||||
|
dprintf_gdi(stddeb, "CreateHatchBrush32: %d %06lx\n", style, color );
|
||||||
|
if ((style < 0) || (style >= NB_HATCH_STYLES)) return 0;
|
||||||
|
return CreateBrushIndirect32( &logbrush );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreatePatternBrush16 (GDI.60)
|
||||||
|
*/
|
||||||
|
HBRUSH16 CreatePatternBrush16( HBITMAP16 hbitmap )
|
||||||
|
{
|
||||||
|
return (HBRUSH16)CreatePatternBrush32( hbitmap );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreatePatternBrush32 (GDI32.54)
|
||||||
|
*/
|
||||||
|
HBRUSH32 CreatePatternBrush32( HBITMAP32 hbitmap )
|
||||||
|
{
|
||||||
|
LOGBRUSH32 logbrush = { BS_PATTERN, 0, 0 };
|
||||||
BITMAPOBJ *bmp, *newbmp;
|
BITMAPOBJ *bmp, *newbmp;
|
||||||
|
|
||||||
dprintf_gdi(stddeb, "CreatePatternBrush: %04x\n", hbitmap );
|
dprintf_gdi(stddeb, "CreatePatternBrush: %04x\n", hbitmap );
|
||||||
|
@ -178,23 +218,24 @@ HBRUSH16 CreatePatternBrush( HBITMAP16 hbitmap )
|
||||||
|
|
||||||
if (!(bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC )))
|
if (!(bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC )))
|
||||||
return 0;
|
return 0;
|
||||||
logbrush.lbHatch = (INT16)CreateBitmapIndirect16( &bmp->bitmap );
|
logbrush.lbHatch = (INT32)CreateBitmapIndirect16( &bmp->bitmap );
|
||||||
newbmp = (BITMAPOBJ *) GDI_GetObjPtr( (HGDIOBJ16)logbrush.lbHatch, BITMAP_MAGIC );
|
newbmp = (BITMAPOBJ *) GDI_GetObjPtr( (HGDIOBJ32)logbrush.lbHatch,
|
||||||
|
BITMAP_MAGIC );
|
||||||
if (!newbmp) return 0;
|
if (!newbmp) return 0;
|
||||||
XCopyArea( display, bmp->pixmap, newbmp->pixmap, BITMAP_GC(bmp),
|
XCopyArea( display, bmp->pixmap, newbmp->pixmap, BITMAP_GC(bmp),
|
||||||
0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight, 0, 0 );
|
0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight, 0, 0 );
|
||||||
return CreateBrushIndirect( &logbrush );
|
return CreateBrushIndirect32( &logbrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateDIBPatternBrush (GDI.445)
|
* CreateDIBPatternBrush16 (GDI.445)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 CreateDIBPatternBrush( HGLOBAL16 hbitmap, UINT coloruse )
|
HBRUSH16 CreateDIBPatternBrush16( HGLOBAL16 hbitmap, UINT16 coloruse )
|
||||||
{
|
{
|
||||||
LOGBRUSH16 logbrush = { BS_DIBPATTERN, coloruse, 0 };
|
LOGBRUSH32 logbrush = { BS_DIBPATTERN, coloruse, 0 };
|
||||||
BITMAPINFO *info, *newInfo;
|
BITMAPINFO *info, *newInfo;
|
||||||
int size;
|
INT32 size;
|
||||||
|
|
||||||
dprintf_gdi(stddeb, "CreateDIBPatternBrush: %04x\n", hbitmap );
|
dprintf_gdi(stddeb, "CreateDIBPatternBrush: %04x\n", hbitmap );
|
||||||
|
|
||||||
|
@ -209,7 +250,7 @@ HBRUSH16 CreateDIBPatternBrush( HGLOBAL16 hbitmap, UINT coloruse )
|
||||||
* 8 * info->bmiHeader.biHeight;
|
* 8 * info->bmiHeader.biHeight;
|
||||||
size += DIB_BitmapInfoSize( info, coloruse );
|
size += DIB_BitmapInfoSize( info, coloruse );
|
||||||
|
|
||||||
if (!(logbrush.lbHatch = (INT)GlobalAlloc16( GMEM_MOVEABLE, size )))
|
if (!(logbrush.lbHatch = (INT16)GlobalAlloc16( GMEM_MOVEABLE, size )))
|
||||||
{
|
{
|
||||||
GlobalUnlock16( hbitmap );
|
GlobalUnlock16( hbitmap );
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -218,18 +259,64 @@ HBRUSH16 CreateDIBPatternBrush( HGLOBAL16 hbitmap, UINT coloruse )
|
||||||
memcpy( newInfo, info, size );
|
memcpy( newInfo, info, size );
|
||||||
GlobalUnlock16( (HGLOBAL16)logbrush.lbHatch );
|
GlobalUnlock16( (HGLOBAL16)logbrush.lbHatch );
|
||||||
GlobalUnlock16( hbitmap );
|
GlobalUnlock16( hbitmap );
|
||||||
return CreateBrushIndirect( &logbrush );
|
return CreateBrushIndirect32( &logbrush );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateDIBPatternBrush32 (GDI32.34)
|
||||||
|
*/
|
||||||
|
HBRUSH32 CreateDIBPatternBrush32( HGLOBAL32 hbitmap, UINT32 coloruse )
|
||||||
|
{
|
||||||
|
LOGBRUSH32 logbrush = { BS_DIBPATTERN, coloruse, 0 };
|
||||||
|
BITMAPINFO *info, *newInfo;
|
||||||
|
INT32 size;
|
||||||
|
|
||||||
|
dprintf_gdi(stddeb, "CreateDIBPatternBrush: %04x\n", hbitmap );
|
||||||
|
|
||||||
|
/* Make a copy of the bitmap */
|
||||||
|
|
||||||
|
if (!(info = (BITMAPINFO *)GlobalLock32( hbitmap ))) return 0;
|
||||||
|
|
||||||
|
if (info->bmiHeader.biCompression)
|
||||||
|
size = info->bmiHeader.biSizeImage;
|
||||||
|
else
|
||||||
|
size = (info->bmiHeader.biWidth * info->bmiHeader.biBitCount + 31) / 32
|
||||||
|
* 8 * info->bmiHeader.biHeight;
|
||||||
|
size += DIB_BitmapInfoSize( info, coloruse );
|
||||||
|
|
||||||
|
if (!(logbrush.lbHatch = (INT32)GlobalAlloc16( GMEM_MOVEABLE, size )))
|
||||||
|
{
|
||||||
|
GlobalUnlock16( hbitmap );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
newInfo = (BITMAPINFO *) GlobalLock16( (HGLOBAL16)logbrush.lbHatch );
|
||||||
|
memcpy( newInfo, info, size );
|
||||||
|
GlobalUnlock16( (HGLOBAL16)logbrush.lbHatch );
|
||||||
|
GlobalUnlock16( hbitmap );
|
||||||
|
return CreateBrushIndirect32( &logbrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateSolidBrush (GDI.66)
|
* CreateSolidBrush (GDI.66)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 CreateSolidBrush( COLORREF color )
|
HBRUSH16 CreateSolidBrush16( COLORREF color )
|
||||||
{
|
{
|
||||||
LOGBRUSH16 logbrush = { BS_SOLID, color, 0 };
|
LOGBRUSH32 logbrush = { BS_SOLID, color, 0 };
|
||||||
dprintf_gdi(stddeb, "CreateSolidBrush: %06lx\n", color );
|
dprintf_gdi(stddeb, "CreateSolidBrush16: %06lx\n", color );
|
||||||
return CreateBrushIndirect( &logbrush );
|
return CreateBrushIndirect32( &logbrush );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateSolidBrush32 (GDI32.64)
|
||||||
|
*/
|
||||||
|
HBRUSH32 CreateSolidBrush32( COLORREF color )
|
||||||
|
{
|
||||||
|
LOGBRUSH32 logbrush = { BS_SOLID, color, 0 };
|
||||||
|
dprintf_gdi(stddeb, "CreateSolidBrush32: %06lx\n", color );
|
||||||
|
return CreateBrushIndirect32( &logbrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -268,12 +355,22 @@ BOOL32 SetBrushOrgEx( HDC32 hdc, INT32 x, INT32 y, LPPOINT32 oldorg )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetSysColorBrush (USER.281)
|
* GetSysColorBrush16 (USER.281)
|
||||||
*/
|
*/
|
||||||
HBRUSH16 GetSysColorBrush(WORD x)
|
HBRUSH16 GetSysColorBrush16( INT16 index )
|
||||||
{
|
{
|
||||||
fprintf( stderr, "Unimplemented stub: GetSysColorBrush(%d)\n", x );
|
fprintf( stderr, "Unimplemented stub: GetSysColorBrush16(%d)\n", index );
|
||||||
return GetStockObject(LTGRAY_BRUSH);
|
return GetStockObject32(LTGRAY_BRUSH);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* GetSysColorBrush32 (USER32.289)
|
||||||
|
*/
|
||||||
|
HBRUSH32 GetSysColorBrush32( INT32 index)
|
||||||
|
{
|
||||||
|
fprintf( stderr, "Unimplemented stub: GetSysColorBrush32(%d)\n", index );
|
||||||
|
return GetStockObject32(LTGRAY_BRUSH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -285,7 +382,7 @@ BOOL32 BRUSH_DeleteObject( HBRUSH16 hbrush, BRUSHOBJ * brush )
|
||||||
switch(brush->logbrush.lbStyle)
|
switch(brush->logbrush.lbStyle)
|
||||||
{
|
{
|
||||||
case BS_PATTERN:
|
case BS_PATTERN:
|
||||||
DeleteObject( (HGDIOBJ16)brush->logbrush.lbHatch );
|
DeleteObject32( (HGDIOBJ32)brush->logbrush.lbHatch );
|
||||||
break;
|
break;
|
||||||
case BS_DIBPATTERN:
|
case BS_DIBPATTERN:
|
||||||
GlobalFree16( (HGLOBAL16)brush->logbrush.lbHatch );
|
GlobalFree16( (HGLOBAL16)brush->logbrush.lbHatch );
|
||||||
|
@ -296,9 +393,25 @@ BOOL32 BRUSH_DeleteObject( HBRUSH16 hbrush, BRUSHOBJ * brush )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BRUSH_GetObject
|
* BRUSH_GetObject16
|
||||||
*/
|
*/
|
||||||
int BRUSH_GetObject( BRUSHOBJ * brush, int count, LPSTR buffer )
|
INT16 BRUSH_GetObject16( BRUSHOBJ * brush, INT16 count, LPSTR buffer )
|
||||||
|
{
|
||||||
|
LOGBRUSH16 logbrush;
|
||||||
|
|
||||||
|
logbrush.lbStyle = brush->logbrush.lbStyle;
|
||||||
|
logbrush.lbColor = brush->logbrush.lbColor;
|
||||||
|
logbrush.lbHatch = brush->logbrush.lbHatch;
|
||||||
|
if (count > sizeof(logbrush)) count = sizeof(logbrush);
|
||||||
|
memcpy( buffer, &logbrush, count );
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* BRUSH_GetObject32
|
||||||
|
*/
|
||||||
|
INT32 BRUSH_GetObject32( BRUSHOBJ * brush, INT32 count, LPSTR buffer )
|
||||||
{
|
{
|
||||||
if (count > sizeof(brush->logbrush)) count = sizeof(brush->logbrush);
|
if (count > sizeof(brush->logbrush)) count = sizeof(brush->logbrush);
|
||||||
memcpy( buffer, &brush->logbrush, count );
|
memcpy( buffer, &brush->logbrush, count );
|
||||||
|
@ -330,7 +443,7 @@ static void BRUSH_SelectSolidBrush( DC *dc, COLORREF color )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BRUSH_SelectPatternBrush
|
* BRUSH_SelectPatternBrush
|
||||||
*/
|
*/
|
||||||
static BOOL BRUSH_SelectPatternBrush( DC * dc, HBITMAP16 hbitmap )
|
static BOOL32 BRUSH_SelectPatternBrush( DC * dc, HBITMAP32 hbitmap )
|
||||||
{
|
{
|
||||||
BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
|
BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
|
||||||
if (!bmp) return FALSE;
|
if (!bmp) return FALSE;
|
||||||
|
@ -357,7 +470,7 @@ static BOOL BRUSH_SelectPatternBrush( DC * dc, HBITMAP16 hbitmap )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BRUSH_SelectObject
|
* BRUSH_SelectObject
|
||||||
*/
|
*/
|
||||||
HBRUSH16 BRUSH_SelectObject( DC * dc, HBRUSH16 hbrush, BRUSHOBJ * brush )
|
HBRUSH32 BRUSH_SelectObject( DC * dc, HBRUSH32 hbrush, BRUSHOBJ * brush )
|
||||||
{
|
{
|
||||||
HBITMAP16 hBitmap;
|
HBITMAP16 hBitmap;
|
||||||
BITMAPINFO * bmpInfo;
|
BITMAPINFO * bmpInfo;
|
||||||
|
@ -367,22 +480,22 @@ HBRUSH16 BRUSH_SelectObject( DC * dc, HBRUSH16 hbrush, BRUSHOBJ * brush )
|
||||||
dc->hSelf,hbrush);
|
dc->hSelf,hbrush);
|
||||||
if (dc->header.wMagic == METAFILE_DC_MAGIC)
|
if (dc->header.wMagic == METAFILE_DC_MAGIC)
|
||||||
{
|
{
|
||||||
|
LOGBRUSH16 logbrush = { brush->logbrush.lbStyle,
|
||||||
|
brush->logbrush.lbColor,
|
||||||
|
brush->logbrush.lbHatch };
|
||||||
switch (brush->logbrush.lbStyle)
|
switch (brush->logbrush.lbStyle)
|
||||||
{
|
{
|
||||||
case BS_SOLID:
|
case BS_SOLID:
|
||||||
case BS_HATCHED:
|
case BS_HATCHED:
|
||||||
case BS_HOLLOW:
|
case BS_HOLLOW:
|
||||||
if (!MF_CreateBrushIndirect(dc, hbrush, &(brush->logbrush)))
|
if (!MF_CreateBrushIndirect( dc, hbrush, &logbrush )) return 0;
|
||||||
return (HBRUSH16)0;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BS_PATTERN:
|
case BS_PATTERN:
|
||||||
case BS_DIBPATTERN:
|
case BS_DIBPATTERN:
|
||||||
if (!MF_CreatePatternBrush(dc, hbrush, &(brush->logbrush)))
|
if (!MF_CreatePatternBrush( dc, hbrush, &logbrush )) return 0;
|
||||||
return (HBRUSH16)0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return (HBRUSH16)1;
|
return 1; /* FIXME? */
|
||||||
}
|
}
|
||||||
|
|
||||||
dc->w.hBrush = hbrush;
|
dc->w.hBrush = hbrush;
|
||||||
|
@ -427,7 +540,7 @@ HBRUSH16 BRUSH_SelectObject( DC * dc, HBRUSH16 hbrush, BRUSHOBJ * brush )
|
||||||
((char *)bmpInfo) + size, bmpInfo,
|
((char *)bmpInfo) + size, bmpInfo,
|
||||||
(WORD) brush->logbrush.lbColor );
|
(WORD) brush->logbrush.lbColor );
|
||||||
BRUSH_SelectPatternBrush( dc, hBitmap );
|
BRUSH_SelectPatternBrush( dc, hBitmap );
|
||||||
DeleteObject( hBitmap );
|
DeleteObject16( hBitmap );
|
||||||
GlobalUnlock16( (HGLOBAL16)brush->logbrush.lbHatch );
|
GlobalUnlock16( (HGLOBAL16)brush->logbrush.lbHatch );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
* Copyright 1993 Alexandre Julliard
|
* Copyright 1993 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "dc.h"
|
#include "dc.h"
|
||||||
#include "metafile.h"
|
#include "metafile.h"
|
||||||
#include "region.h"
|
#include "region.h"
|
||||||
#include "stddebug.h"
|
#include "stddebug.h"
|
||||||
/* #define DEBUG_CLIPPING */
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
#define UPDATE_DIRTY_DC(dc) \
|
#define UPDATE_DIRTY_DC(dc) \
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
void CLIPPING_UpdateGCRegion( DC * dc )
|
void CLIPPING_UpdateGCRegion( DC * dc )
|
||||||
{
|
{
|
||||||
if (!dc->w.hGCClipRgn) dc->w.hGCClipRgn = CreateRectRgn( 0, 0, 0, 0 );
|
if (!dc->w.hGCClipRgn) dc->w.hGCClipRgn = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
|
|
||||||
if (!dc->w.hVisRgn)
|
if (!dc->w.hVisRgn)
|
||||||
{
|
{
|
||||||
|
@ -42,19 +42,28 @@ void CLIPPING_UpdateGCRegion( DC * dc )
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dc->w.hClipRgn)
|
if (!dc->w.hClipRgn)
|
||||||
CombineRgn( dc->w.hGCClipRgn, dc->w.hVisRgn, 0, RGN_COPY );
|
CombineRgn32( dc->w.hGCClipRgn, dc->w.hVisRgn, 0, RGN_COPY );
|
||||||
else
|
else
|
||||||
CombineRgn( dc->w.hGCClipRgn, dc->w.hClipRgn, dc->w.hVisRgn, RGN_AND );
|
CombineRgn32(dc->w.hGCClipRgn, dc->w.hClipRgn, dc->w.hVisRgn, RGN_AND);
|
||||||
if (dc->funcs->pSetDeviceClipping) dc->funcs->pSetDeviceClipping( dc );
|
if (dc->funcs->pSetDeviceClipping) dc->funcs->pSetDeviceClipping( dc );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SelectClipRgn (GDI.44)
|
* SelectClipRgn16 (GDI.44)
|
||||||
*/
|
*/
|
||||||
int SelectClipRgn( HDC16 hdc, HRGN32 hrgn )
|
INT16 SelectClipRgn16( HDC16 hdc, HRGN16 hrgn )
|
||||||
{
|
{
|
||||||
int retval;
|
return (INT16)SelectClipRgn32( hdc, hrgn );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SelectClipRgn32 (GDI32.297)
|
||||||
|
*/
|
||||||
|
INT32 SelectClipRgn32( HDC32 hdc, HRGN32 hrgn )
|
||||||
|
{
|
||||||
|
INT32 retval;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return ERROR;
|
if (!dc) return ERROR;
|
||||||
|
|
||||||
|
@ -62,12 +71,12 @@ int SelectClipRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
|
|
||||||
if (hrgn)
|
if (hrgn)
|
||||||
{
|
{
|
||||||
if (!dc->w.hClipRgn) dc->w.hClipRgn = CreateRectRgn(0,0,0,0);
|
if (!dc->w.hClipRgn) dc->w.hClipRgn = CreateRectRgn32(0,0,0,0);
|
||||||
retval = CombineRgn( dc->w.hClipRgn, hrgn, 0, RGN_COPY );
|
retval = CombineRgn32( dc->w.hClipRgn, hrgn, 0, RGN_COPY );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (dc->w.hClipRgn) DeleteObject( dc->w.hClipRgn );
|
if (dc->w.hClipRgn) DeleteObject16( dc->w.hClipRgn );
|
||||||
dc->w.hClipRgn = 0;
|
dc->w.hClipRgn = 0;
|
||||||
retval = SIMPLEREGION; /* Clip region == whole DC */
|
retval = SIMPLEREGION; /* Clip region == whole DC */
|
||||||
}
|
}
|
||||||
|
@ -80,7 +89,7 @@ int SelectClipRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SelectVisRgn (GDI.105)
|
* SelectVisRgn (GDI.105)
|
||||||
*/
|
*/
|
||||||
int SelectVisRgn( HDC16 hdc, HRGN32 hrgn )
|
INT16 SelectVisRgn( HDC16 hdc, HRGN16 hrgn )
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
|
@ -90,16 +99,25 @@ int SelectVisRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
|
|
||||||
dc->w.flags &= ~DC_DIRTY;
|
dc->w.flags &= ~DC_DIRTY;
|
||||||
|
|
||||||
retval = CombineRgn( dc->w.hVisRgn, hrgn, 0, RGN_COPY );
|
retval = CombineRgn16( dc->w.hVisRgn, hrgn, 0, RGN_COPY );
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OffsetClipRgn (GDI.32)
|
* OffsetClipRgn16 (GDI.32)
|
||||||
*/
|
*/
|
||||||
int OffsetClipRgn( HDC16 hdc, short x, short y )
|
INT16 OffsetClipRgn16( HDC16 hdc, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return (INT16)OffsetClipRgn32( hdc, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* OffsetClipRgn32 (GDI32.255)
|
||||||
|
*/
|
||||||
|
INT32 OffsetClipRgn32( HDC32 hdc, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
|
@ -114,9 +132,9 @@ int OffsetClipRgn( HDC16 hdc, short x, short y )
|
||||||
|
|
||||||
if (dc->w.hClipRgn)
|
if (dc->w.hClipRgn)
|
||||||
{
|
{
|
||||||
int retval = OffsetRgn( dc->w.hClipRgn, XLPTODP(dc,x), YLPTODP(dc,y) );
|
INT32 ret = OffsetRgn32( dc->w.hClipRgn, XLPTODP(dc,x), YLPTODP(dc,y));
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
return retval;
|
return ret;
|
||||||
}
|
}
|
||||||
else return SIMPLEREGION; /* Clip region == client area */
|
else return SIMPLEREGION; /* Clip region == client area */
|
||||||
}
|
}
|
||||||
|
@ -125,13 +143,13 @@ int OffsetClipRgn( HDC16 hdc, short x, short y )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OffsetVisRgn (GDI.102)
|
* OffsetVisRgn (GDI.102)
|
||||||
*/
|
*/
|
||||||
int OffsetVisRgn( HDC16 hdc, short x, short y )
|
INT16 OffsetVisRgn( HDC16 hdc, INT16 x, INT16 y )
|
||||||
{
|
{
|
||||||
int retval;
|
INT16 retval;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return ERROR;
|
if (!dc) return ERROR;
|
||||||
dprintf_clipping(stddeb, "OffsetVisRgn: %04x %d,%d\n", hdc, x, y );
|
dprintf_clipping(stddeb, "OffsetVisRgn: %04x %d,%d\n", hdc, x, y );
|
||||||
retval = OffsetRgn( dc->w.hVisRgn, x, y );
|
retval = OffsetRgn32( dc->w.hVisRgn, x, y );
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -144,13 +162,13 @@ int OffsetVisRgn( HDC16 hdc, short x, short y )
|
||||||
* elsewhere (like ExtTextOut()) to skip redundant metafile update and
|
* elsewhere (like ExtTextOut()) to skip redundant metafile update and
|
||||||
* coordinate conversion.
|
* coordinate conversion.
|
||||||
*/
|
*/
|
||||||
int CLIPPING_IntersectClipRect( DC * dc, short left, short top,
|
INT32 CLIPPING_IntersectClipRect( DC * dc, INT32 left, INT32 top,
|
||||||
short right, short bottom, UINT16 flags)
|
INT32 right, INT32 bottom, UINT32 flags )
|
||||||
{
|
{
|
||||||
HRGN32 newRgn;
|
HRGN32 newRgn;
|
||||||
int ret;
|
INT32 ret;
|
||||||
|
|
||||||
if ( !(newRgn = CreateRectRgn( left, top, right, bottom )) ) return ERROR;
|
if (!(newRgn = CreateRectRgn32( left, top, right, bottom ))) return ERROR;
|
||||||
if (!dc->w.hClipRgn)
|
if (!dc->w.hClipRgn)
|
||||||
{
|
{
|
||||||
if( flags & CLIP_INTERSECT )
|
if( flags & CLIP_INTERSECT )
|
||||||
|
@ -161,24 +179,34 @@ int CLIPPING_IntersectClipRect( DC * dc, short left, short top,
|
||||||
return SIMPLEREGION;
|
return SIMPLEREGION;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = CombineRgn( newRgn, dc->w.hClipRgn, newRgn,
|
ret = CombineRgn32( newRgn, dc->w.hClipRgn, newRgn,
|
||||||
(flags & CLIP_EXCLUDE) ? RGN_DIFF : RGN_AND );
|
(flags & CLIP_EXCLUDE) ? RGN_DIFF : RGN_AND );
|
||||||
if (ret != ERROR)
|
if (ret != ERROR)
|
||||||
{
|
{
|
||||||
if ( !(flags & CLIP_KEEPRGN) ) DeleteObject( dc->w.hClipRgn );
|
if (!(flags & CLIP_KEEPRGN)) DeleteObject32( dc->w.hClipRgn );
|
||||||
dc->w.hClipRgn = newRgn;
|
dc->w.hClipRgn = newRgn;
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
}
|
}
|
||||||
else DeleteObject( newRgn );
|
else DeleteObject32( newRgn );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* ExcludeClipRect (GDI.21)
|
* ExcludeClipRect16 (GDI.21)
|
||||||
*/
|
*/
|
||||||
int ExcludeClipRect( HDC16 hdc, short left, short top,
|
INT16 ExcludeClipRect16( HDC16 hdc, INT16 left, INT16 top,
|
||||||
short right, short bottom )
|
INT16 right, INT16 bottom )
|
||||||
|
{
|
||||||
|
return (INT16)ExcludeClipRect32( hdc, left, top, right, bottom );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* ExcludeClipRect32 (GDI32.92)
|
||||||
|
*/
|
||||||
|
INT32 ExcludeClipRect32( HDC32 hdc, INT32 left, INT32 top,
|
||||||
|
INT32 right, INT32 bottom )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
|
@ -201,10 +229,20 @@ int ExcludeClipRect( HDC16 hdc, short left, short top,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* IntersectClipRect (GDI.22)
|
* IntersectClipRect16 (GDI.22)
|
||||||
*/
|
*/
|
||||||
int IntersectClipRect( HDC16 hdc, short left, short top,
|
INT16 IntersectClipRect16( HDC16 hdc, INT16 left, INT16 top,
|
||||||
short right, short bottom )
|
INT16 right, INT16 bottom )
|
||||||
|
{
|
||||||
|
return (INT16)IntersectClipRect32( hdc, left, top, right, bottom );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* IntersectClipRect32 (GDI32.245)
|
||||||
|
*/
|
||||||
|
INT32 IntersectClipRect32( HDC32 hdc, INT32 left, INT32 top,
|
||||||
|
INT32 right, INT32 bottom )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
|
@ -231,37 +269,38 @@ int IntersectClipRect( HDC16 hdc, short left, short top,
|
||||||
*
|
*
|
||||||
* Helper function for {Intersect,Exclude}VisRect
|
* Helper function for {Intersect,Exclude}VisRect
|
||||||
*/
|
*/
|
||||||
static int CLIPPING_IntersectVisRect( DC * dc, short left, short top,
|
static INT32 CLIPPING_IntersectVisRect( DC * dc, INT32 left, INT32 top,
|
||||||
short right, short bottom, BOOL exclude )
|
INT32 right, INT32 bottom,
|
||||||
|
BOOL32 exclude )
|
||||||
{
|
{
|
||||||
HRGN32 tempRgn, newRgn;
|
HRGN32 tempRgn, newRgn;
|
||||||
int ret;
|
INT32 ret;
|
||||||
|
|
||||||
left = XLPTODP( dc, left );
|
left = XLPTODP( dc, left );
|
||||||
right = XLPTODP( dc, right );
|
right = XLPTODP( dc, right );
|
||||||
top = YLPTODP( dc, top );
|
top = YLPTODP( dc, top );
|
||||||
bottom = YLPTODP( dc, bottom );
|
bottom = YLPTODP( dc, bottom );
|
||||||
|
|
||||||
if (!(newRgn = CreateRectRgn( 0, 0, 0, 0 ))) return ERROR;
|
if (!(newRgn = CreateRectRgn32( 0, 0, 0, 0 ))) return ERROR;
|
||||||
if (!(tempRgn = CreateRectRgn( left, top, right, bottom )))
|
if (!(tempRgn = CreateRectRgn32( left, top, right, bottom )))
|
||||||
{
|
{
|
||||||
DeleteObject( newRgn );
|
DeleteObject32( newRgn );
|
||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
ret = CombineRgn( newRgn, dc->w.hVisRgn, tempRgn,
|
ret = CombineRgn32( newRgn, dc->w.hVisRgn, tempRgn,
|
||||||
exclude ? RGN_DIFF : RGN_AND );
|
exclude ? RGN_DIFF : RGN_AND );
|
||||||
DeleteObject( tempRgn );
|
DeleteObject32( tempRgn );
|
||||||
|
|
||||||
if (ret != ERROR)
|
if (ret != ERROR)
|
||||||
{
|
{
|
||||||
RGNOBJ *newObj = (RGNOBJ*)GDI_GetObjPtr( newRgn, REGION_MAGIC);
|
RGNOBJ *newObj = (RGNOBJ*)GDI_GetObjPtr( newRgn, REGION_MAGIC);
|
||||||
RGNOBJ *prevObj = (RGNOBJ*)GDI_GetObjPtr( dc->w.hVisRgn, REGION_MAGIC);
|
RGNOBJ *prevObj = (RGNOBJ*)GDI_GetObjPtr( dc->w.hVisRgn, REGION_MAGIC);
|
||||||
if (newObj && prevObj) newObj->header.hNext = prevObj->header.hNext;
|
if (newObj && prevObj) newObj->header.hNext = prevObj->header.hNext;
|
||||||
DeleteObject( dc->w.hVisRgn );
|
DeleteObject32( dc->w.hVisRgn );
|
||||||
dc->w.hVisRgn = newRgn;
|
dc->w.hVisRgn = newRgn;
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
}
|
}
|
||||||
else DeleteObject( newRgn );
|
else DeleteObject32( newRgn );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,8 +308,8 @@ static int CLIPPING_IntersectVisRect( DC * dc, short left, short top,
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* ExcludeVisRect (GDI.73)
|
* ExcludeVisRect (GDI.73)
|
||||||
*/
|
*/
|
||||||
int ExcludeVisRect( HDC16 hdc, short left, short top,
|
INT16 ExcludeVisRect( HDC16 hdc, INT16 left, INT16 top,
|
||||||
short right, short bottom )
|
INT16 right, INT16 bottom )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return ERROR;
|
if (!dc) return ERROR;
|
||||||
|
@ -284,8 +323,8 @@ int ExcludeVisRect( HDC16 hdc, short left, short top,
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* IntersectVisRect (GDI.98)
|
* IntersectVisRect (GDI.98)
|
||||||
*/
|
*/
|
||||||
int IntersectVisRect( HDC16 hdc, short left, short top,
|
INT16 IntersectVisRect( HDC16 hdc, INT16 left, INT16 top,
|
||||||
short right, short bottom )
|
INT16 right, INT16 bottom )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return ERROR;
|
if (!dc) return ERROR;
|
||||||
|
@ -297,9 +336,18 @@ int IntersectVisRect( HDC16 hdc, short left, short top,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* PtVisible (GDI.103)
|
* PtVisible16 (GDI.103)
|
||||||
*/
|
*/
|
||||||
BOOL PtVisible( HDC16 hdc, short x, short y )
|
BOOL16 PtVisible16( HDC16 hdc, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return PtVisible32( hdc, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* PtVisible32 (GDI32.279)
|
||||||
|
*/
|
||||||
|
BOOL32 PtVisible32( HDC32 hdc, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return ERROR;
|
if (!dc) return ERROR;
|
||||||
|
@ -310,7 +358,7 @@ BOOL PtVisible( HDC16 hdc, short x, short y )
|
||||||
if( dc->w.flags & DC_DIRTY ) UPDATE_DIRTY_DC(dc);
|
if( dc->w.flags & DC_DIRTY ) UPDATE_DIRTY_DC(dc);
|
||||||
dc->w.flags &= ~DC_DIRTY;
|
dc->w.flags &= ~DC_DIRTY;
|
||||||
|
|
||||||
return PtInRegion( dc->w.hGCClipRgn, XLPTODP(dc,x), YLPTODP(dc,y) );
|
return PtInRegion32( dc->w.hGCClipRgn, XLPTODP(dc,x), YLPTODP(dc,y) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -374,7 +422,7 @@ INT32 GetClipBox32( HDC32 hdc, LPRECT32 rect )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SaveVisRgn (GDI.129)
|
* SaveVisRgn (GDI.129)
|
||||||
*/
|
*/
|
||||||
HRGN32 SaveVisRgn( HDC16 hdc )
|
HRGN16 SaveVisRgn( HDC16 hdc )
|
||||||
{
|
{
|
||||||
HRGN32 copy;
|
HRGN32 copy;
|
||||||
RGNOBJ *obj, *copyObj;
|
RGNOBJ *obj, *copyObj;
|
||||||
|
@ -391,8 +439,8 @@ HRGN32 SaveVisRgn( HDC16 hdc )
|
||||||
|
|
||||||
if (!(obj = (RGNOBJ *) GDI_GetObjPtr( dc->w.hVisRgn, REGION_MAGIC )))
|
if (!(obj = (RGNOBJ *) GDI_GetObjPtr( dc->w.hVisRgn, REGION_MAGIC )))
|
||||||
return 0;
|
return 0;
|
||||||
if (!(copy = CreateRectRgn( 0, 0, 0, 0 ))) return 0;
|
if (!(copy = CreateRectRgn32( 0, 0, 0, 0 ))) return 0;
|
||||||
CombineRgn( copy, dc->w.hVisRgn, 0, RGN_COPY );
|
CombineRgn32( copy, dc->w.hVisRgn, 0, RGN_COPY );
|
||||||
if (!(copyObj = (RGNOBJ *) GDI_GetObjPtr( copy, REGION_MAGIC )))
|
if (!(copyObj = (RGNOBJ *) GDI_GetObjPtr( copy, REGION_MAGIC )))
|
||||||
return 0;
|
return 0;
|
||||||
copyObj->header.hNext = obj->header.hNext;
|
copyObj->header.hNext = obj->header.hNext;
|
||||||
|
@ -404,7 +452,7 @@ HRGN32 SaveVisRgn( HDC16 hdc )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* RestoreVisRgn (GDI.130)
|
* RestoreVisRgn (GDI.130)
|
||||||
*/
|
*/
|
||||||
int RestoreVisRgn( HDC16 hdc )
|
INT16 RestoreVisRgn( HDC16 hdc )
|
||||||
{
|
{
|
||||||
HRGN32 saved;
|
HRGN32 saved;
|
||||||
RGNOBJ *obj, *savedObj;
|
RGNOBJ *obj, *savedObj;
|
||||||
|
@ -416,7 +464,7 @@ int RestoreVisRgn( HDC16 hdc )
|
||||||
if (!(saved = obj->header.hNext)) return ERROR;
|
if (!(saved = obj->header.hNext)) return ERROR;
|
||||||
if (!(savedObj = (RGNOBJ *) GDI_GetObjPtr( saved, REGION_MAGIC )))
|
if (!(savedObj = (RGNOBJ *) GDI_GetObjPtr( saved, REGION_MAGIC )))
|
||||||
return ERROR;
|
return ERROR;
|
||||||
DeleteObject( dc->w.hVisRgn );
|
DeleteObject32( dc->w.hVisRgn );
|
||||||
dc->w.hVisRgn = saved;
|
dc->w.hVisRgn = saved;
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
return savedObj->xrgn ? COMPLEXREGION : NULLREGION;
|
return savedObj->xrgn ? COMPLEXREGION : NULLREGION;
|
||||||
|
|
|
@ -335,8 +335,8 @@ HGLOBAL16 CURSORICON_LoadHandler( HGLOBAL16 handle, HINSTANCE16 hInstance,
|
||||||
if (!(handle = GlobalAlloc16( GMEM_MOVEABLE,
|
if (!(handle = GlobalAlloc16( GMEM_MOVEABLE,
|
||||||
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
||||||
{
|
{
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -356,8 +356,8 @@ HGLOBAL16 CURSORICON_LoadHandler( HGLOBAL16 handle, HINSTANCE16 hInstance,
|
||||||
|
|
||||||
GetBitmapBits( hAndBits, sizeAnd, (char *)(info + 1) );
|
GetBitmapBits( hAndBits, sizeAnd, (char *)(info + 1) );
|
||||||
GetBitmapBits( hXorBits, sizeXor, (char *)(info + 1) + sizeAnd );
|
GetBitmapBits( hXorBits, sizeXor, (char *)(info + 1) + sizeAnd );
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
GlobalUnlock16( handle );
|
GlobalUnlock16( handle );
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
@ -626,15 +626,15 @@ BOOL DrawIcon( HDC16 hdc, INT x, INT y, HICON16 hIcon )
|
||||||
|
|
||||||
if (hXorBits && hAndBits)
|
if (hXorBits && hAndBits)
|
||||||
{
|
{
|
||||||
HBITMAP16 hBitTemp = SelectObject( hMemDC, hAndBits );
|
HBITMAP32 hBitTemp = SelectObject32( hMemDC, hAndBits );
|
||||||
BitBlt( hdc, x, y, ptr->nWidth, ptr->nHeight, hMemDC, 0, 0, SRCAND );
|
BitBlt( hdc, x, y, ptr->nWidth, ptr->nHeight, hMemDC, 0, 0, SRCAND );
|
||||||
SelectObject( hMemDC, hXorBits );
|
SelectObject32( hMemDC, hXorBits );
|
||||||
BitBlt( hdc, x, y, ptr->nWidth, ptr->nHeight, hMemDC, 0, 0, SRCINVERT);
|
BitBlt( hdc, x, y, ptr->nWidth, ptr->nHeight, hMemDC, 0, 0, SRCINVERT);
|
||||||
SelectObject( hMemDC, hBitTemp );
|
SelectObject32( hMemDC, hBitTemp );
|
||||||
}
|
}
|
||||||
DeleteDC( hMemDC );
|
DeleteDC( hMemDC );
|
||||||
if (hXorBits) DeleteObject( hXorBits );
|
if (hXorBits) DeleteObject32( hXorBits );
|
||||||
if (hAndBits) DeleteObject( hAndBits );
|
if (hAndBits) DeleteObject32( hAndBits );
|
||||||
GlobalUnlock16( hIcon );
|
GlobalUnlock16( hIcon );
|
||||||
SetTextColor( hdc, oldFg );
|
SetTextColor( hdc, oldFg );
|
||||||
SetBkColor( hdc, oldBg );
|
SetBkColor( hdc, oldBg );
|
||||||
|
|
96
objects/dc.c
96
objects/dc.c
|
@ -185,9 +185,9 @@ void DC_InitDC( DC* dc )
|
||||||
RealizeDefaultPalette( dc->hSelf );
|
RealizeDefaultPalette( dc->hSelf );
|
||||||
SetTextColor( dc->hSelf, dc->w.textColor );
|
SetTextColor( dc->hSelf, dc->w.textColor );
|
||||||
SetBkColor( dc->hSelf, dc->w.backgroundColor );
|
SetBkColor( dc->hSelf, dc->w.backgroundColor );
|
||||||
SelectObject( dc->hSelf, dc->w.hPen );
|
SelectObject32( dc->hSelf, dc->w.hPen );
|
||||||
SelectObject( dc->hSelf, dc->w.hBrush );
|
SelectObject32( dc->hSelf, dc->w.hBrush );
|
||||||
SelectObject( dc->hSelf, dc->w.hFont );
|
SelectObject32( dc->hSelf, dc->w.hFont );
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -379,19 +379,18 @@ HDC16 GetDCState( HDC16 hdc )
|
||||||
|
|
||||||
memset( &newdc->u.x, 0, sizeof(newdc->u.x) );
|
memset( &newdc->u.x, 0, sizeof(newdc->u.x) );
|
||||||
memcpy( &newdc->w, &dc->w, sizeof(dc->w) );
|
memcpy( &newdc->w, &dc->w, sizeof(dc->w) );
|
||||||
memcpy( &newdc->u.x.pen, &dc->u.x.pen, sizeof(dc->u.x.pen) );
|
|
||||||
|
|
||||||
newdc->hSelf = (HDC32)handle;
|
newdc->hSelf = (HDC32)handle;
|
||||||
newdc->saveLevel = 0;
|
newdc->saveLevel = 0;
|
||||||
newdc->w.flags |= DC_SAVED;
|
newdc->w.flags |= DC_SAVED;
|
||||||
|
|
||||||
newdc->w.hGCClipRgn = 0;
|
newdc->w.hGCClipRgn = 0;
|
||||||
newdc->w.hVisRgn = CreateRectRgn( 0, 0, 0, 0 );
|
newdc->w.hVisRgn = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
CombineRgn( newdc->w.hVisRgn, dc->w.hVisRgn, 0, RGN_COPY );
|
CombineRgn32( newdc->w.hVisRgn, dc->w.hVisRgn, 0, RGN_COPY );
|
||||||
if (dc->w.hClipRgn)
|
if (dc->w.hClipRgn)
|
||||||
{
|
{
|
||||||
newdc->w.hClipRgn = CreateRectRgn( 0, 0, 0, 0 );
|
newdc->w.hClipRgn = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
CombineRgn( newdc->w.hClipRgn, dc->w.hClipRgn, 0, RGN_COPY );
|
CombineRgn32( newdc->w.hClipRgn, dc->w.hClipRgn, 0, RGN_COPY );
|
||||||
}
|
}
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
@ -403,36 +402,55 @@ HDC16 GetDCState( HDC16 hdc )
|
||||||
void SetDCState( HDC16 hdc, HDC16 hdcs )
|
void SetDCState( HDC16 hdc, HDC16 hdcs )
|
||||||
{
|
{
|
||||||
DC *dc, *dcs;
|
DC *dc, *dcs;
|
||||||
HRGN32 hVisRgn, hClipRgn, hGCClipRgn;
|
|
||||||
HFONT16 hfont;
|
|
||||||
HBRUSH16 hbrush;
|
|
||||||
|
|
||||||
if (!(dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC ))) return;
|
if (!(dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC ))) return;
|
||||||
if (!(dcs = (DC *) GDI_GetObjPtr( hdcs, DC_MAGIC ))) return;
|
if (!(dcs = (DC *) GDI_GetObjPtr( hdcs, DC_MAGIC ))) return;
|
||||||
if (!dcs->w.flags & DC_SAVED) return;
|
if (!dcs->w.flags & DC_SAVED) return;
|
||||||
dprintf_dc(stddeb, "SetDCState: %04x %04x\n", hdc, hdcs );
|
dprintf_dc(stddeb, "SetDCState: %04x %04x\n", hdc, hdcs );
|
||||||
|
|
||||||
/* Save the regions, font & brush before overwriting everything */
|
dc->w.flags = dcs->w.flags & ~DC_SAVED;
|
||||||
hVisRgn = dc->w.hVisRgn;
|
dc->w.devCaps = dcs->w.devCaps;
|
||||||
hClipRgn = dc->w.hClipRgn;
|
dc->w.hFirstBitmap = dcs->w.hFirstBitmap;
|
||||||
hGCClipRgn = dc->w.hGCClipRgn;
|
dc->w.hDevice = dcs->w.hDevice;
|
||||||
hfont = dc->w.hFont;
|
dc->w.ROPmode = dcs->w.ROPmode;
|
||||||
hbrush = dc->w.hBrush;
|
dc->w.polyFillMode = dcs->w.polyFillMode;
|
||||||
memcpy( &dc->w, &dcs->w, sizeof(dc->w) );
|
dc->w.stretchBltMode = dcs->w.stretchBltMode;
|
||||||
memcpy( &dc->u.x.pen, &dcs->u.x.pen, sizeof(dc->u.x.pen) );
|
dc->w.relAbsMode = dcs->w.relAbsMode;
|
||||||
dc->w.flags &= ~DC_SAVED;
|
dc->w.backgroundMode = dcs->w.backgroundMode;
|
||||||
|
dc->w.backgroundColor = dcs->w.backgroundColor;
|
||||||
|
dc->w.textColor = dcs->w.textColor;
|
||||||
|
dc->w.backgroundPixel = dcs->w.backgroundPixel;
|
||||||
|
dc->w.textPixel = dcs->w.textPixel;
|
||||||
|
dc->w.brushOrgX = dcs->w.brushOrgX;
|
||||||
|
dc->w.brushOrgY = dcs->w.brushOrgY;
|
||||||
|
dc->w.textAlign = dcs->w.textAlign;
|
||||||
|
dc->w.charExtra = dcs->w.charExtra;
|
||||||
|
dc->w.breakTotalExtra = dcs->w.breakTotalExtra;
|
||||||
|
dc->w.breakCount = dcs->w.breakCount;
|
||||||
|
dc->w.breakExtra = dcs->w.breakExtra;
|
||||||
|
dc->w.breakRem = dcs->w.breakRem;
|
||||||
|
dc->w.MapMode = dcs->w.MapMode;
|
||||||
|
dc->w.DCOrgX = dcs->w.DCOrgX;
|
||||||
|
dc->w.DCOrgY = dcs->w.DCOrgY;
|
||||||
|
dc->w.CursPosX = dcs->w.CursPosX;
|
||||||
|
dc->w.CursPosY = dcs->w.CursPosY;
|
||||||
|
dc->w.WndOrgX = dcs->w.WndOrgX;
|
||||||
|
dc->w.WndOrgY = dcs->w.WndOrgY;
|
||||||
|
dc->w.WndExtX = dcs->w.WndExtX;
|
||||||
|
dc->w.WndExtY = dcs->w.WndExtY;
|
||||||
|
dc->w.VportOrgX = dcs->w.VportOrgX;
|
||||||
|
dc->w.VportOrgY = dcs->w.VportOrgY;
|
||||||
|
dc->w.VportExtX = dcs->w.VportExtX;
|
||||||
|
dc->w.VportExtY = dcs->w.VportExtY;
|
||||||
|
|
||||||
/* Restore the regions */
|
if (!(dc->w.flags & DC_MEMORY)) dc->w.bitsPerPixel = dcs->w.bitsPerPixel;
|
||||||
dc->w.hVisRgn = hVisRgn;
|
CombineRgn32( dc->w.hVisRgn, dcs->w.hVisRgn, 0, RGN_COPY );
|
||||||
dc->w.hClipRgn = hClipRgn;
|
SelectClipRgn32( hdc, dcs->w.hClipRgn );
|
||||||
dc->w.hGCClipRgn = hGCClipRgn;
|
SelectObject32( hdc, dcs->w.hBitmap );
|
||||||
dc->w.hFont = hfont;
|
SelectObject32( hdc, dcs->w.hBrush );
|
||||||
dc->w.hBrush = hbrush;
|
SelectObject32( hdc, dcs->w.hFont );
|
||||||
CombineRgn( dc->w.hVisRgn, dcs->w.hVisRgn, 0, RGN_COPY );
|
SelectObject32( hdc, dcs->w.hPen );
|
||||||
SelectClipRgn( hdc, dcs->w.hClipRgn );
|
GDISelectPalette( hdc, dcs->w.hPalette, FALSE );
|
||||||
|
|
||||||
SelectObject( hdc, dcs->w.hBrush );
|
|
||||||
SelectObject( hdc, dcs->w.hFont );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -564,7 +582,7 @@ HDC16 CreateCompatibleDC( HDC16 hdc )
|
||||||
!dc->funcs->pCreateDC( dc, NULL, NULL, NULL, NULL ))
|
!dc->funcs->pCreateDC( dc, NULL, NULL, NULL, NULL ))
|
||||||
{
|
{
|
||||||
dprintf_dc( stddeb, "CreateDC: creation aborted by device\n" );
|
dprintf_dc( stddeb, "CreateDC: creation aborted by device\n" );
|
||||||
DeleteObject( hbitmap );
|
DeleteObject32( hbitmap );
|
||||||
GDI_HEAP_FREE( dc->hSelf );
|
GDI_HEAP_FREE( dc->hSelf );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -596,16 +614,16 @@ BOOL DeleteDC( HDC16 hdc )
|
||||||
|
|
||||||
if (!(dc->w.flags & DC_SAVED))
|
if (!(dc->w.flags & DC_SAVED))
|
||||||
{
|
{
|
||||||
SelectObject( hdc, STOCK_BLACK_PEN );
|
SelectObject32( hdc, STOCK_BLACK_PEN );
|
||||||
SelectObject( hdc, STOCK_WHITE_BRUSH );
|
SelectObject32( hdc, STOCK_WHITE_BRUSH );
|
||||||
SelectObject( hdc, STOCK_SYSTEM_FONT );
|
SelectObject32( hdc, STOCK_SYSTEM_FONT );
|
||||||
if (dc->w.flags & DC_MEMORY) DeleteObject( dc->w.hFirstBitmap );
|
if (dc->w.flags & DC_MEMORY) DeleteObject32( dc->w.hFirstBitmap );
|
||||||
if (dc->funcs->pDeleteDC) dc->funcs->pDeleteDC(dc);
|
if (dc->funcs->pDeleteDC) dc->funcs->pDeleteDC(dc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dc->w.hClipRgn) DeleteObject( dc->w.hClipRgn );
|
if (dc->w.hClipRgn) DeleteObject32( dc->w.hClipRgn );
|
||||||
if (dc->w.hVisRgn) DeleteObject( dc->w.hVisRgn );
|
if (dc->w.hVisRgn) DeleteObject32( dc->w.hVisRgn );
|
||||||
if (dc->w.hGCClipRgn) DeleteObject( dc->w.hGCClipRgn );
|
if (dc->w.hGCClipRgn) DeleteObject32( dc->w.hGCClipRgn );
|
||||||
|
|
||||||
return GDI_FreeObject( hdc );
|
return GDI_FreeObject( hdc );
|
||||||
}
|
}
|
||||||
|
|
|
@ -632,12 +632,12 @@ int StretchDIBits( HDC16 hdc,
|
||||||
hBitmap = CreateDIBitmap( hdc, &info->bmiHeader, CBM_INIT,
|
hBitmap = CreateDIBitmap( hdc, &info->bmiHeader, CBM_INIT,
|
||||||
bits, info, wUsage );
|
bits, info, wUsage );
|
||||||
hdcMem = CreateCompatibleDC( hdc );
|
hdcMem = CreateCompatibleDC( hdc );
|
||||||
hOldBitmap = SelectObject( hdcMem, hBitmap );
|
hOldBitmap = SelectObject32( hdcMem, hBitmap );
|
||||||
StretchBlt( hdc, xDest, yDest, wDestWidth, wDestHeight,
|
StretchBlt( hdc, xDest, yDest, wDestWidth, wDestHeight,
|
||||||
hdcMem, xSrc, ySrc, wSrcWidth, wSrcHeight, dwRop );
|
hdcMem, xSrc, ySrc, wSrcWidth, wSrcHeight, dwRop );
|
||||||
SelectObject( hdcMem, hOldBitmap );
|
SelectObject32( hdcMem, hOldBitmap );
|
||||||
DeleteDC( hdcMem );
|
DeleteDC( hdcMem );
|
||||||
DeleteObject( hBitmap );
|
DeleteObject32( hBitmap );
|
||||||
return wSrcHeight;
|
return wSrcHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1203,10 +1203,10 @@ INT EnumFonts(HDC16 hDC, LPCSTR lpFaceName, FONTENUMPROC16 lpEnumFunc, LPARAM lp
|
||||||
dprintf_font(stddeb,"EnumFonts // %p !\n", lpLogFontList[i]);
|
dprintf_font(stddeb,"EnumFonts // %p !\n", lpLogFontList[i]);
|
||||||
memcpy(lpLogFont, lpLogFontList[i], sizeof(LOGFONT16) + LF_FACESIZE);
|
memcpy(lpLogFont, lpLogFontList[i], sizeof(LOGFONT16) + LF_FACESIZE);
|
||||||
hFont = CreateFontIndirect16(lpLogFont);
|
hFont = CreateFontIndirect16(lpLogFont);
|
||||||
hOldFont = SelectObject(hDC, hFont);
|
hOldFont = SelectObject32(hDC, hFont);
|
||||||
GetTextMetrics16(hDC, lptm);
|
GetTextMetrics16(hDC, lptm);
|
||||||
SelectObject(hDC, hOldFont);
|
SelectObject32(hDC, hOldFont);
|
||||||
DeleteObject(hFont);
|
DeleteObject32(hFont);
|
||||||
dprintf_font(stddeb,"EnumFonts // i=%d lpLogFont=%p lptm=%p\n", i, lpLogFont, lptm);
|
dprintf_font(stddeb,"EnumFonts // i=%d lpLogFont=%p lptm=%p\n", i, lpLogFont, lptm);
|
||||||
nRet = lpEnumFunc( GDI_HEAP_SEG_ADDR(hLog), GDI_HEAP_SEG_ADDR(hMet),
|
nRet = lpEnumFunc( GDI_HEAP_SEG_ADDR(hLog), GDI_HEAP_SEG_ADDR(hMet),
|
||||||
0, (LONG)lpData );
|
0, (LONG)lpData );
|
||||||
|
@ -1272,10 +1272,10 @@ INT EnumFontFamilies(HDC16 hDC, LPCSTR lpszFamily, FONTENUMPROC16 lpEnumFunc, LP
|
||||||
strcpy(lpEnumLogFont->elfFullName,"");
|
strcpy(lpEnumLogFont->elfFullName,"");
|
||||||
strcpy(lpEnumLogFont->elfStyle,"");
|
strcpy(lpEnumLogFont->elfStyle,"");
|
||||||
hFont = CreateFontIndirect16((LPLOGFONT16)lpEnumLogFont);
|
hFont = CreateFontIndirect16((LPLOGFONT16)lpEnumLogFont);
|
||||||
hOldFont = SelectObject(hDC, hFont);
|
hOldFont = SelectObject32(hDC, hFont);
|
||||||
GetTextMetrics16(hDC, lptm);
|
GetTextMetrics16(hDC, lptm);
|
||||||
SelectObject(hDC, hOldFont);
|
SelectObject32(hDC, hOldFont);
|
||||||
DeleteObject(hFont);
|
DeleteObject32(hFont);
|
||||||
dprintf_font(stddeb, "EnumFontFamilies // i=%d lpLogFont=%p lptm=%p\n", i, lpEnumLogFont, lptm);
|
dprintf_font(stddeb, "EnumFontFamilies // i=%d lpLogFont=%p lptm=%p\n", i, lpEnumLogFont, lptm);
|
||||||
|
|
||||||
nRet = lpEnumFunc( GDI_HEAP_SEG_ADDR(hLog), GDI_HEAP_SEG_ADDR(hMet),
|
nRet = lpEnumFunc( GDI_HEAP_SEG_ADDR(hLog), GDI_HEAP_SEG_ADDR(hMet),
|
||||||
|
|
159
objects/gdiobj.c
159
objects/gdiobj.c
|
@ -4,6 +4,7 @@
|
||||||
* Copyright 1993 Alexandre Julliard
|
* Copyright 1993 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "gdi.h"
|
#include "gdi.h"
|
||||||
|
@ -242,14 +243,23 @@ GDIOBJHDR * GDI_GetObjPtr( HGDIOBJ16 handle, WORD magic )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DeleteObject (GDI.69)
|
* DeleteObject16 (GDI.69)
|
||||||
*/
|
*/
|
||||||
BOOL DeleteObject( HGDIOBJ16 obj )
|
BOOL16 DeleteObject16( HGDIOBJ16 obj )
|
||||||
|
{
|
||||||
|
return DeleteObject32( obj );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DeleteObject32 (GDI32.70)
|
||||||
|
*/
|
||||||
|
BOOL32 DeleteObject32( HGDIOBJ32 obj )
|
||||||
{
|
{
|
||||||
/* Check if object is valid */
|
/* Check if object is valid */
|
||||||
|
|
||||||
GDIOBJHDR * header = (GDIOBJHDR *) GDI_HEAP_LIN_ADDR( obj );
|
GDIOBJHDR * header = (GDIOBJHDR *) GDI_HEAP_LIN_ADDR( obj );
|
||||||
if (!header) return FALSE;
|
if (!header || HIWORD(obj)) return FALSE;
|
||||||
|
|
||||||
dprintf_gdi(stddeb, "DeleteObject: %04x\n", obj );
|
dprintf_gdi(stddeb, "DeleteObject: %04x\n", obj );
|
||||||
|
|
||||||
|
@ -269,9 +279,18 @@ BOOL DeleteObject( HGDIOBJ16 obj )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetStockObject (GDI.87)
|
* GetStockObject16 (GDI.87)
|
||||||
*/
|
*/
|
||||||
HGDIOBJ16 GetStockObject( INT16 obj )
|
HGDIOBJ16 GetStockObject16( INT16 obj )
|
||||||
|
{
|
||||||
|
return (HGDIOBJ16)GetStockObject32( obj );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* GetStockObject32 (GDI32.220)
|
||||||
|
*/
|
||||||
|
HGDIOBJ32 GetStockObject32( INT32 obj )
|
||||||
{
|
{
|
||||||
if ((obj < 0) || (obj >= NB_STOCK_OBJECTS)) return 0;
|
if ((obj < 0) || (obj >= NB_STOCK_OBJECTS)) return 0;
|
||||||
if (!StockObjects[obj]) return 0;
|
if (!StockObjects[obj]) return 0;
|
||||||
|
@ -299,9 +318,9 @@ INT16 GetObject16( HANDLE16 handle, INT16 count, LPVOID buffer )
|
||||||
switch(ptr->wMagic)
|
switch(ptr->wMagic)
|
||||||
{
|
{
|
||||||
case PEN_MAGIC:
|
case PEN_MAGIC:
|
||||||
return PEN_GetObject( (PENOBJ *)ptr, count, buffer );
|
return PEN_GetObject16( (PENOBJ *)ptr, count, buffer );
|
||||||
case BRUSH_MAGIC:
|
case BRUSH_MAGIC:
|
||||||
return BRUSH_GetObject( (BRUSHOBJ *)ptr, count, buffer );
|
return BRUSH_GetObject16( (BRUSHOBJ *)ptr, count, buffer );
|
||||||
case BITMAP_MAGIC:
|
case BITMAP_MAGIC:
|
||||||
return BITMAP_GetObject16( (BITMAPOBJ *)ptr, count, buffer );
|
return BITMAP_GetObject16( (BITMAPOBJ *)ptr, count, buffer );
|
||||||
case FONT_MAGIC:
|
case FONT_MAGIC:
|
||||||
|
@ -330,12 +349,14 @@ INT32 GetObject32A( HANDLE32 handle, INT32 count, LPVOID buffer )
|
||||||
|
|
||||||
switch(ptr->wMagic)
|
switch(ptr->wMagic)
|
||||||
{
|
{
|
||||||
|
case PEN_MAGIC:
|
||||||
|
return PEN_GetObject32( (PENOBJ *)ptr, count, buffer );
|
||||||
|
case BRUSH_MAGIC:
|
||||||
|
return BRUSH_GetObject32( (BRUSHOBJ *)ptr, count, buffer );
|
||||||
case BITMAP_MAGIC:
|
case BITMAP_MAGIC:
|
||||||
return BITMAP_GetObject32( (BITMAPOBJ *)ptr, count, buffer );
|
return BITMAP_GetObject32( (BITMAPOBJ *)ptr, count, buffer );
|
||||||
case FONT_MAGIC:
|
case FONT_MAGIC:
|
||||||
return FONT_GetObject32A( (FONTOBJ *)ptr, count, buffer );
|
return FONT_GetObject32A( (FONTOBJ *)ptr, count, buffer );
|
||||||
case PEN_MAGIC:
|
|
||||||
case BRUSH_MAGIC:
|
|
||||||
case PALETTE_MAGIC:
|
case PALETTE_MAGIC:
|
||||||
fprintf( stderr, "GetObject32: magic %04x not implemented\n",
|
fprintf( stderr, "GetObject32: magic %04x not implemented\n",
|
||||||
ptr->wMagic );
|
ptr->wMagic );
|
||||||
|
@ -355,9 +376,18 @@ INT32 GetObject32W( HANDLE32 handle, INT32 count, LPVOID buffer )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SelectObject (GDI.45)
|
* SelectObject16 (GDI.45)
|
||||||
*/
|
*/
|
||||||
HGDIOBJ16 SelectObject( HDC16 hdc, HGDIOBJ16 handle )
|
HGDIOBJ16 SelectObject16( HDC16 hdc, HGDIOBJ16 handle )
|
||||||
|
{
|
||||||
|
return (HGDIOBJ16)SelectObject32( hdc, handle );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SelectObject32 (GDI32.299)
|
||||||
|
*/
|
||||||
|
HGDIOBJ32 SelectObject32( HDC32 hdc, HGDIOBJ32 handle )
|
||||||
{
|
{
|
||||||
GDIOBJHDR * ptr = NULL;
|
GDIOBJHDR * ptr = NULL;
|
||||||
DC * dc;
|
DC * dc;
|
||||||
|
@ -387,16 +417,25 @@ HGDIOBJ16 SelectObject( HDC16 hdc, HGDIOBJ16 handle )
|
||||||
case FONT_MAGIC:
|
case FONT_MAGIC:
|
||||||
return FONT_SelectObject( dc, handle, (FONTOBJ *)ptr );
|
return FONT_SelectObject( dc, handle, (FONTOBJ *)ptr );
|
||||||
case REGION_MAGIC:
|
case REGION_MAGIC:
|
||||||
return (HGDIOBJ16)SelectClipRgn( hdc, handle );
|
return (HGDIOBJ16)SelectClipRgn16( hdc, handle );
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* UnrealizeObject (GDI.150)
|
* UnrealizeObject16 (GDI.150)
|
||||||
*/
|
*/
|
||||||
BOOL UnrealizeObject( HGDIOBJ16 obj )
|
BOOL16 UnrealizeObject16( HGDIOBJ16 obj )
|
||||||
|
{
|
||||||
|
return UnrealizeObject32( obj );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* UnrealizeObject (GDI32.358)
|
||||||
|
*/
|
||||||
|
BOOL32 UnrealizeObject32( HGDIOBJ32 obj )
|
||||||
{
|
{
|
||||||
/* Check if object is valid */
|
/* Check if object is valid */
|
||||||
|
|
||||||
|
@ -421,9 +460,9 @@ BOOL UnrealizeObject( HGDIOBJ16 obj )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* EnumObjects (GDI.71)
|
* EnumObjects16 (GDI.71)
|
||||||
*/
|
*/
|
||||||
INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
INT16 EnumObjects16( HDC16 hdc, INT16 nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
LPARAM lParam )
|
LPARAM lParam )
|
||||||
{
|
{
|
||||||
/* Solid colors to enumerate */
|
/* Solid colors to enumerate */
|
||||||
|
@ -438,11 +477,11 @@ INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
RGB(0x80,0x80,0x80), RGB(0xc0,0xc0,0xc0)
|
RGB(0x80,0x80,0x80), RGB(0xc0,0xc0,0xc0)
|
||||||
};
|
};
|
||||||
|
|
||||||
int i, retval = 0;
|
INT16 i, retval = 0;
|
||||||
LOGPEN16 *pen;
|
LOGPEN16 *pen;
|
||||||
LOGBRUSH16 *brush = NULL;
|
LOGBRUSH16 *brush = NULL;
|
||||||
|
|
||||||
dprintf_gdi( stddeb, "EnumObjects: %04x %d %08lx %08lx\n",
|
dprintf_gdi( stddeb, "EnumObjects16: %04x %d %08lx %08lx\n",
|
||||||
hdc, nObjType, (DWORD)lpEnumFunc, lParam );
|
hdc, nObjType, (DWORD)lpEnumFunc, lParam );
|
||||||
switch(nObjType)
|
switch(nObjType)
|
||||||
{
|
{
|
||||||
|
@ -456,7 +495,7 @@ INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
pen->lopnWidth.y = 0;
|
pen->lopnWidth.y = 0;
|
||||||
pen->lopnColor = solid_colors[i];
|
pen->lopnColor = solid_colors[i];
|
||||||
retval = lpEnumFunc( SEGPTR_GET(pen), lParam );
|
retval = lpEnumFunc( SEGPTR_GET(pen), lParam );
|
||||||
dprintf_gdi( stddeb, "EnumObject: solid pen %08lx, ret=%d\n",
|
dprintf_gdi( stddeb, "EnumObjects16: solid pen %08lx, ret=%d\n",
|
||||||
solid_colors[i], retval);
|
solid_colors[i], retval);
|
||||||
if (!retval) break;
|
if (!retval) break;
|
||||||
}
|
}
|
||||||
|
@ -472,7 +511,7 @@ INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
brush->lbColor = solid_colors[i];
|
brush->lbColor = solid_colors[i];
|
||||||
brush->lbHatch = 0;
|
brush->lbHatch = 0;
|
||||||
retval = lpEnumFunc( SEGPTR_GET(brush), lParam );
|
retval = lpEnumFunc( SEGPTR_GET(brush), lParam );
|
||||||
dprintf_gdi( stddeb, "EnumObject: solid brush %08lx, ret=%d\n",
|
dprintf_gdi( stddeb, "EnumObjects16: solid brush %08lx, ret=%d\n",
|
||||||
solid_colors[i], retval);
|
solid_colors[i], retval);
|
||||||
if (!retval) break;
|
if (!retval) break;
|
||||||
}
|
}
|
||||||
|
@ -484,7 +523,7 @@ INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
brush->lbColor = RGB(0,0,0);
|
brush->lbColor = RGB(0,0,0);
|
||||||
brush->lbHatch = i;
|
brush->lbHatch = i;
|
||||||
retval = lpEnumFunc( SEGPTR_GET(brush), lParam );
|
retval = lpEnumFunc( SEGPTR_GET(brush), lParam );
|
||||||
dprintf_gdi( stddeb, "EnumObject: hatched brush %d, ret=%d\n",
|
dprintf_gdi( stddeb, "EnumObjects16: hatched brush %d, ret=%d\n",
|
||||||
i, retval);
|
i, retval);
|
||||||
if (!retval) break;
|
if (!retval) break;
|
||||||
}
|
}
|
||||||
|
@ -492,7 +531,83 @@ INT EnumObjects( HDC16 hdc, INT nObjType, GOBJENUMPROC16 lpEnumFunc,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf( stderr, "EnumObjects: invalid type %d\n", nObjType );
|
fprintf( stderr, "EnumObjects16: invalid type %d\n", nObjType );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* EnumObjects32 (GDI32.89)
|
||||||
|
*/
|
||||||
|
INT32 EnumObjects32( HDC32 hdc, INT32 nObjType, GOBJENUMPROC32 lpEnumFunc,
|
||||||
|
LPARAM lParam )
|
||||||
|
{
|
||||||
|
/* Solid colors to enumerate */
|
||||||
|
static const COLORREF solid_colors[] =
|
||||||
|
{ RGB(0x00,0x00,0x00), RGB(0xff,0xff,0xff),
|
||||||
|
RGB(0xff,0x00,0x00), RGB(0x00,0xff,0x00),
|
||||||
|
RGB(0x00,0x00,0xff), RGB(0xff,0xff,0x00),
|
||||||
|
RGB(0xff,0x00,0xff), RGB(0x00,0xff,0xff),
|
||||||
|
RGB(0x80,0x00,0x00), RGB(0x00,0x80,0x00),
|
||||||
|
RGB(0x80,0x80,0x00), RGB(0x00,0x00,0x80),
|
||||||
|
RGB(0x80,0x00,0x80), RGB(0x00,0x80,0x80),
|
||||||
|
RGB(0x80,0x80,0x80), RGB(0xc0,0xc0,0xc0)
|
||||||
|
};
|
||||||
|
|
||||||
|
INT32 i, retval = 0;
|
||||||
|
LOGPEN32 pen;
|
||||||
|
LOGBRUSH32 brush;
|
||||||
|
|
||||||
|
dprintf_gdi( stddeb, "EnumObjects32: %04x %d %08lx %08lx\n",
|
||||||
|
hdc, nObjType, (DWORD)lpEnumFunc, lParam );
|
||||||
|
switch(nObjType)
|
||||||
|
{
|
||||||
|
case OBJ_PEN:
|
||||||
|
/* Enumerate solid pens */
|
||||||
|
for (i = 0; i < sizeof(solid_colors)/sizeof(solid_colors[0]); i++)
|
||||||
|
{
|
||||||
|
pen.lopnStyle = PS_SOLID;
|
||||||
|
pen.lopnWidth.x = 1;
|
||||||
|
pen.lopnWidth.y = 0;
|
||||||
|
pen.lopnColor = solid_colors[i];
|
||||||
|
retval = lpEnumFunc( &pen, lParam );
|
||||||
|
dprintf_gdi( stddeb, "EnumObjects32: solid pen %08lx, ret=%d\n",
|
||||||
|
solid_colors[i], retval);
|
||||||
|
if (!retval) break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case OBJ_BRUSH:
|
||||||
|
/* Enumerate solid brushes */
|
||||||
|
for (i = 0; i < sizeof(solid_colors)/sizeof(solid_colors[0]); i++)
|
||||||
|
{
|
||||||
|
brush.lbStyle = BS_SOLID;
|
||||||
|
brush.lbColor = solid_colors[i];
|
||||||
|
brush.lbHatch = 0;
|
||||||
|
retval = lpEnumFunc( &brush, lParam );
|
||||||
|
dprintf_gdi( stddeb, "EnumObjects32: solid brush %08lx, ret=%d\n",
|
||||||
|
solid_colors[i], retval);
|
||||||
|
if (!retval) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now enumerate hatched brushes */
|
||||||
|
if (retval) for (i = HS_HORIZONTAL; i <= HS_DIAGCROSS; i++)
|
||||||
|
{
|
||||||
|
brush.lbStyle = BS_HATCHED;
|
||||||
|
brush.lbColor = RGB(0,0,0);
|
||||||
|
brush.lbHatch = i;
|
||||||
|
retval = lpEnumFunc( &brush, lParam );
|
||||||
|
dprintf_gdi( stddeb, "EnumObjects32: hatched brush %d, ret=%d\n",
|
||||||
|
i, retval);
|
||||||
|
if (!retval) break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
/* FIXME: implement Win32 types */
|
||||||
|
fprintf( stderr, "EnumObjects32: invalid type %d\n", nObjType );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
|
|
|
@ -284,7 +284,7 @@ BOOL PlayMetaFile(HDC16 hdc, HMETAFILE16 hmf)
|
||||||
/* free objects in handle table */
|
/* free objects in handle table */
|
||||||
for(i = 0; i < mh->mtNoObjects; i++)
|
for(i = 0; i < mh->mtNoObjects; i++)
|
||||||
if(*(ht->objectHandle + i) != 0)
|
if(*(ht->objectHandle + i) != 0)
|
||||||
DeleteObject(*(ht->objectHandle + i));
|
DeleteObject32(*(ht->objectHandle + i));
|
||||||
|
|
||||||
/* free handle table */
|
/* free handle table */
|
||||||
GlobalFree16(hHT);
|
GlobalFree16(hHT);
|
||||||
|
@ -400,7 +400,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_DELETEOBJECT:
|
case META_DELETEOBJECT:
|
||||||
DeleteObject(*(ht->objectHandle + *(mr->rdParam)));
|
DeleteObject32(*(ht->objectHandle + *(mr->rdParam)));
|
||||||
*(ht->objectHandle + *(mr->rdParam)) = 0;
|
*(ht->objectHandle + *(mr->rdParam)) = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_LINETO:
|
case META_LINETO:
|
||||||
LineTo(hdc, *(mr->rdParam + 1), *(mr->rdParam));
|
LineTo32(hdc, *(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_MOVETO:
|
case META_MOVETO:
|
||||||
|
@ -479,44 +479,44 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_EXCLUDECLIPRECT:
|
case META_EXCLUDECLIPRECT:
|
||||||
ExcludeClipRect(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
ExcludeClipRect16( hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam) );
|
*(mr->rdParam + 1), *(mr->rdParam) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_INTERSECTCLIPRECT:
|
case META_INTERSECTCLIPRECT:
|
||||||
IntersectClipRect(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
IntersectClipRect16( hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam) );
|
*(mr->rdParam + 1), *(mr->rdParam) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_ARC:
|
case META_ARC:
|
||||||
Arc(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam + 5),
|
Arc32(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam + 5),
|
||||||
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_ELLIPSE:
|
case META_ELLIPSE:
|
||||||
Ellipse(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
Ellipse32(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_FLOODFILL:
|
case META_FLOODFILL:
|
||||||
FloodFill(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
FloodFill32(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
MAKELONG(*(mr->rdParam + 1), *(mr->rdParam)));
|
MAKELONG(*(mr->rdParam + 1), *(mr->rdParam)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_PIE:
|
case META_PIE:
|
||||||
Pie(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam + 5),
|
Pie32(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam + 5),
|
||||||
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_RECTANGLE:
|
case META_RECTANGLE:
|
||||||
Rectangle(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
Rectangle32(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_ROUNDRECT:
|
case META_ROUNDRECT:
|
||||||
RoundRect(hdc, *(mr->rdParam + 5), *(mr->rdParam + 4),
|
RoundRect32(hdc, *(mr->rdParam + 5), *(mr->rdParam + 4),
|
||||||
*(mr->rdParam + 3), *(mr->rdParam + 2),
|
*(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
@ -532,12 +532,12 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_SETPIXEL:
|
case META_SETPIXEL:
|
||||||
SetPixel(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
SetPixel32(hdc, *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
MAKELONG(*(mr->rdParam + 1), *(mr->rdParam)));
|
MAKELONG(*(mr->rdParam + 1), *(mr->rdParam)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_OFFSETCLIPRGN:
|
case META_OFFSETCLIPRGN:
|
||||||
OffsetClipRgn(hdc, *(mr->rdParam + 1), *(mr->rdParam));
|
OffsetClipRgn16( hdc, *(mr->rdParam + 1), *(mr->rdParam) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_TEXTOUT:
|
case META_TEXTOUT:
|
||||||
|
@ -565,11 +565,11 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_SELECTOBJECT:
|
case META_SELECTOBJECT:
|
||||||
SelectObject(hdc, *(ht->objectHandle + *(mr->rdParam)));
|
SelectObject32(hdc, *(ht->objectHandle + *(mr->rdParam)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_CHORD:
|
case META_CHORD:
|
||||||
Chord(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam + 5),
|
Chord32(hdc, *(mr->rdParam + 7), *(mr->rdParam + 6), *(mr->rdParam+5),
|
||||||
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
*(mr->rdParam + 4), *(mr->rdParam + 3), *(mr->rdParam + 2),
|
||||||
*(mr->rdParam + 1), *(mr->rdParam));
|
*(mr->rdParam + 1), *(mr->rdParam));
|
||||||
break;
|
break;
|
||||||
|
@ -580,7 +580,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
case BS_PATTERN:
|
case BS_PATTERN:
|
||||||
infohdr = (BITMAPINFOHEADER *)(mr->rdParam + 2);
|
infohdr = (BITMAPINFOHEADER *)(mr->rdParam + 2);
|
||||||
MF_AddHandle(ht, nHandles,
|
MF_AddHandle(ht, nHandles,
|
||||||
CreatePatternBrush(CreateBitmap(infohdr->biWidth,
|
CreatePatternBrush32(CreateBitmap(infohdr->biWidth,
|
||||||
infohdr->biHeight,
|
infohdr->biHeight,
|
||||||
infohdr->biPlanes,
|
infohdr->biPlanes,
|
||||||
infohdr->biBitCount,
|
infohdr->biBitCount,
|
||||||
|
@ -595,14 +595,14 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
memcpy(ptr, mr->rdParam + 2, s1);
|
memcpy(ptr, mr->rdParam + 2, s1);
|
||||||
GlobalUnlock16(hndl);
|
GlobalUnlock16(hndl);
|
||||||
MF_AddHandle(ht, nHandles,
|
MF_AddHandle(ht, nHandles,
|
||||||
CreateDIBPatternBrush(hndl, *(mr->rdParam + 1)));
|
CreateDIBPatternBrush32(hndl, *(mr->rdParam + 1)));
|
||||||
GlobalFree16(hndl);
|
GlobalFree16(hndl);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_CREATEPENINDIRECT:
|
case META_CREATEPENINDIRECT:
|
||||||
MF_AddHandle(ht, nHandles,
|
MF_AddHandle(ht, nHandles,
|
||||||
CreatePenIndirect((LOGPEN16 *)(&(mr->rdParam))));
|
CreatePenIndirect16((LOGPEN16 *)(&(mr->rdParam))));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case META_CREATEFONTINDIRECT:
|
case META_CREATEFONTINDIRECT:
|
||||||
|
@ -612,7 +612,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
|
|
||||||
case META_CREATEBRUSHINDIRECT:
|
case META_CREATEBRUSHINDIRECT:
|
||||||
MF_AddHandle(ht, nHandles,
|
MF_AddHandle(ht, nHandles,
|
||||||
CreateBrushIndirect((LOGBRUSH16 *)(&(mr->rdParam))));
|
CreateBrushIndirect16((LOGBRUSH16 *)(&(mr->rdParam))));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* W. Magro: Some new metafile operations. Not all debugged. */
|
/* W. Magro: Some new metafile operations. Not all debugged. */
|
||||||
|
@ -704,7 +704,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
mr->rdParam[13], /*Planes*/
|
mr->rdParam[13], /*Planes*/
|
||||||
mr->rdParam[14], /*BitsPixel*/
|
mr->rdParam[14], /*BitsPixel*/
|
||||||
(LPSTR)&mr->rdParam[15]); /*bits*/
|
(LPSTR)&mr->rdParam[15]); /*bits*/
|
||||||
SelectObject(hdcSrc,hbitmap);
|
SelectObject32(hdcSrc,hbitmap);
|
||||||
StretchBlt(hdc,mr->rdParam[9],mr->rdParam[8],
|
StretchBlt(hdc,mr->rdParam[9],mr->rdParam[8],
|
||||||
mr->rdParam[7],mr->rdParam[6],
|
mr->rdParam[7],mr->rdParam[6],
|
||||||
hdcSrc,mr->rdParam[5],mr->rdParam[4],
|
hdcSrc,mr->rdParam[5],mr->rdParam[4],
|
||||||
|
@ -720,7 +720,7 @@ void PlayMetaFileRecord(HDC16 hdc, HANDLETABLE16 *ht, METARECORD *mr,
|
||||||
HBITMAP16 hbitmap=CreateBitmap(mr->rdParam[7]/*Width */,mr->rdParam[8]/*Height*/,
|
HBITMAP16 hbitmap=CreateBitmap(mr->rdParam[7]/*Width */,mr->rdParam[8]/*Height*/,
|
||||||
mr->rdParam[10]/*Planes*/,mr->rdParam[11]/*BitsPixel*/,
|
mr->rdParam[10]/*Planes*/,mr->rdParam[11]/*BitsPixel*/,
|
||||||
(LPSTR)&mr->rdParam[12]/*bits*/);
|
(LPSTR)&mr->rdParam[12]/*bits*/);
|
||||||
SelectObject(hdcSrc,hbitmap);
|
SelectObject32(hdcSrc,hbitmap);
|
||||||
BitBlt(hdc,mr->rdParam[6],mr->rdParam[5],
|
BitBlt(hdc,mr->rdParam[6],mr->rdParam[5],
|
||||||
mr->rdParam[4],mr->rdParam[3],
|
mr->rdParam[4],mr->rdParam[3],
|
||||||
hdcSrc,
|
hdcSrc,
|
||||||
|
@ -919,12 +919,12 @@ BOOL32 MF_MetaParam8(DC *dc, short func, short param1, short param2,
|
||||||
BOOL32 MF_CreateBrushIndirect(DC *dc, HBRUSH16 hBrush, LOGBRUSH16 *logbrush)
|
BOOL32 MF_CreateBrushIndirect(DC *dc, HBRUSH16 hBrush, LOGBRUSH16 *logbrush)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
char buffer[sizeof(METARECORD) - 2 + sizeof(LOGBRUSH16)];
|
char buffer[sizeof(METARECORD) - 2 + sizeof(*logbrush)];
|
||||||
METARECORD *mr = (METARECORD *)&buffer;
|
METARECORD *mr = (METARECORD *)&buffer;
|
||||||
|
|
||||||
mr->rdSize = (sizeof(METARECORD) + sizeof(LOGBRUSH16) - 2) / 2;
|
mr->rdSize = (sizeof(METARECORD) + sizeof(*logbrush) - 2) / 2;
|
||||||
mr->rdFunction = META_CREATEBRUSHINDIRECT;
|
mr->rdFunction = META_CREATEBRUSHINDIRECT;
|
||||||
memcpy(&(mr->rdParam), logbrush, sizeof(LOGBRUSH16));
|
memcpy(&(mr->rdParam), logbrush, sizeof(*logbrush));
|
||||||
if (!(MF_WriteRecord( dc, mr, mr->rdSize * 2))) return FALSE;
|
if (!(MF_WriteRecord( dc, mr, mr->rdSize * 2))) return FALSE;
|
||||||
|
|
||||||
mr->rdSize = sizeof(METARECORD) / 2;
|
mr->rdSize = sizeof(METARECORD) / 2;
|
||||||
|
@ -1024,12 +1024,12 @@ BOOL32 MF_CreatePatternBrush(DC *dc, HBRUSH16 hBrush, LOGBRUSH16 *logbrush)
|
||||||
BOOL32 MF_CreatePenIndirect(DC *dc, HPEN16 hPen, LOGPEN16 *logpen)
|
BOOL32 MF_CreatePenIndirect(DC *dc, HPEN16 hPen, LOGPEN16 *logpen)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
char buffer[sizeof(METARECORD) - 2 + sizeof(LOGPEN16)];
|
char buffer[sizeof(METARECORD) - 2 + sizeof(*logpen)];
|
||||||
METARECORD *mr = (METARECORD *)&buffer;
|
METARECORD *mr = (METARECORD *)&buffer;
|
||||||
|
|
||||||
mr->rdSize = (sizeof(METARECORD) + sizeof(LOGPEN16) - 2) / 2;
|
mr->rdSize = (sizeof(METARECORD) + sizeof(*logpen) - 2) / 2;
|
||||||
mr->rdFunction = META_CREATEPENINDIRECT;
|
mr->rdFunction = META_CREATEPENINDIRECT;
|
||||||
memcpy(&(mr->rdParam), logpen, sizeof(LOGPEN16));
|
memcpy(&(mr->rdParam), logpen, sizeof(*logpen));
|
||||||
if (!(MF_WriteRecord( dc, mr, mr->rdSize * 2))) return FALSE;
|
if (!(MF_WriteRecord( dc, mr, mr->rdSize * 2))) return FALSE;
|
||||||
|
|
||||||
mr->rdSize = sizeof(METARECORD) / 2;
|
mr->rdSize = sizeof(METARECORD) / 2;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
@ -77,7 +78,7 @@
|
||||||
static const struct
|
static const struct
|
||||||
{
|
{
|
||||||
char** data; /* Pointer to bitmap data */
|
char** data; /* Pointer to bitmap data */
|
||||||
BOOL color; /* Is it a color bitmap? */
|
BOOL32 color; /* Is it a color bitmap? */
|
||||||
} OBM_Pixmaps_Data[OBM_LAST-OBM_FIRST+1] = {
|
} OBM_Pixmaps_Data[OBM_LAST-OBM_FIRST+1] = {
|
||||||
{ obm_trtype, TRUE }, /* OBM_TRTYPE */
|
{ obm_trtype, TRUE }, /* OBM_TRTYPE */
|
||||||
{ obm_cdrom, TRUE }, /* OBM_CDROM */
|
{ obm_cdrom, TRUE }, /* OBM_CDROM */
|
||||||
|
@ -268,7 +269,7 @@ static XpmColorSymbol *OBM_Colors = NULL;
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OBM_InitColorSymbols
|
* OBM_InitColorSymbols
|
||||||
*/
|
*/
|
||||||
static BOOL OBM_InitColorSymbols()
|
static BOOL32 OBM_InitColorSymbols()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -328,8 +329,8 @@ static HBITMAP16 OBM_MakeBitmap( WORD width, WORD height,
|
||||||
*
|
*
|
||||||
* Create the 2 bitmaps from XPM data.
|
* Create the 2 bitmaps from XPM data.
|
||||||
*/
|
*/
|
||||||
static BOOL OBM_CreateBitmaps( char **data, BOOL color, HBITMAP16 *hBitmap,
|
static BOOL32 OBM_CreateBitmaps( char **data, BOOL32 color, HBITMAP16 *hBitmap,
|
||||||
HBITMAP16 *hBitmapMask, POINT16 *hotspot )
|
HBITMAP16 *hBitmapMask, POINT32 *hotspot )
|
||||||
{
|
{
|
||||||
Pixmap pixmap, pixmask;
|
Pixmap pixmap, pixmask;
|
||||||
XpmAttributes *attrs;
|
XpmAttributes *attrs;
|
||||||
|
@ -405,7 +406,7 @@ HGLOBAL16 OBM_LoadCursorIcon( WORD id, BOOL32 fCursor )
|
||||||
CURSORICONINFO *pInfo;
|
CURSORICONINFO *pInfo;
|
||||||
BITMAPOBJ *bmpXor, *bmpAnd;
|
BITMAPOBJ *bmpXor, *bmpAnd;
|
||||||
HBITMAP16 hXorBits, hAndBits;
|
HBITMAP16 hXorBits, hAndBits;
|
||||||
POINT16 hotspot;
|
POINT32 hotspot;
|
||||||
int sizeXor, sizeAnd;
|
int sizeXor, sizeAnd;
|
||||||
|
|
||||||
if (fCursor)
|
if (fCursor)
|
||||||
|
@ -443,8 +444,8 @@ HGLOBAL16 OBM_LoadCursorIcon( WORD id, BOOL32 fCursor )
|
||||||
if (!(handle = GlobalAlloc16( GMEM_MOVEABLE,
|
if (!(handle = GlobalAlloc16( GMEM_MOVEABLE,
|
||||||
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
||||||
{
|
{
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,8 +486,8 @@ HGLOBAL16 OBM_LoadCursorIcon( WORD id, BOOL32 fCursor )
|
||||||
else memset( (char *)(pInfo + 1), 0xff, sizeAnd );
|
else memset( (char *)(pInfo + 1), 0xff, sizeAnd );
|
||||||
GetBitmapBits( hXorBits, sizeXor, (char *)(pInfo + 1) + sizeAnd );
|
GetBitmapBits( hXorBits, sizeXor, (char *)(pInfo + 1) + sizeAnd );
|
||||||
|
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
|
|
||||||
if (fCursor) OBM_Cursors[id] = handle;
|
if (fCursor) OBM_Cursors[id] = handle;
|
||||||
return handle;
|
return handle;
|
||||||
|
|
104
objects/pen.c
104
objects/pen.c
|
@ -4,27 +4,45 @@
|
||||||
* Copyright 1993 Alexandre Julliard
|
* Copyright 1993 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include "pen.h"
|
#include "pen.h"
|
||||||
#include "metafile.h"
|
#include "metafile.h"
|
||||||
#include "stddebug.h"
|
|
||||||
#include "color.h"
|
#include "color.h"
|
||||||
|
#include "stddebug.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const char PEN_dash[] = { 5,3 }; /* ----- ----- ----- */
|
||||||
|
static const char PEN_dot[] = { 2,2 }; /* -- -- -- -- -- -- */
|
||||||
|
static const char PEN_dashdot[] = { 4,3,2,3 }; /* ---- -- ---- -- */
|
||||||
|
static const char PEN_dashdotdot[] = { 4,2,2,2,2,2 }; /* ---- -- -- ---- */
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreatePen (GDI.61)
|
* CreatePen16 (GDI.61)
|
||||||
*/
|
*/
|
||||||
HPEN16 CreatePen( INT style, INT width, COLORREF color )
|
HPEN16 CreatePen16( INT16 style, INT16 width, COLORREF color )
|
||||||
{
|
{
|
||||||
LOGPEN16 logpen = { style, { width, 0 }, color };
|
LOGPEN32 logpen = { style, { width, 0 }, color };
|
||||||
dprintf_gdi(stddeb, "CreatePen: %d %d %06lx\n", style, width, color );
|
dprintf_gdi(stddeb, "CreatePen16: %d %d %06lx\n", style, width, color );
|
||||||
return CreatePenIndirect( &logpen );
|
return CreatePenIndirect32( &logpen );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreatePenIndirect (GDI.62)
|
* CreatePen32 (GDI32.55)
|
||||||
*/
|
*/
|
||||||
HPEN16 CreatePenIndirect( const LOGPEN16 * pen )
|
HPEN32 CreatePen32( INT32 style, INT32 width, COLORREF color )
|
||||||
|
{
|
||||||
|
LOGPEN32 logpen = { style, { width, 0 }, color };
|
||||||
|
dprintf_gdi(stddeb, "CreatePen32: %d %d %06lx\n", style, width, color );
|
||||||
|
return CreatePenIndirect32( &logpen );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreatePenIndirect16 (GDI.62)
|
||||||
|
*/
|
||||||
|
HPEN16 CreatePenIndirect16( const LOGPEN16 * pen )
|
||||||
{
|
{
|
||||||
PENOBJ * penPtr;
|
PENOBJ * penPtr;
|
||||||
HPEN16 hpen;
|
HPEN16 hpen;
|
||||||
|
@ -33,15 +51,51 @@ HPEN16 CreatePenIndirect( const LOGPEN16 * pen )
|
||||||
hpen = GDI_AllocObject( sizeof(PENOBJ), PEN_MAGIC );
|
hpen = GDI_AllocObject( sizeof(PENOBJ), PEN_MAGIC );
|
||||||
if (!hpen) return 0;
|
if (!hpen) return 0;
|
||||||
penPtr = (PENOBJ *)GDI_HEAP_LIN_ADDR( hpen );
|
penPtr = (PENOBJ *)GDI_HEAP_LIN_ADDR( hpen );
|
||||||
memcpy( &penPtr->logpen, pen, sizeof(*pen) );
|
penPtr->logpen.lopnStyle = pen->lopnStyle;
|
||||||
|
penPtr->logpen.lopnColor = pen->lopnColor;
|
||||||
|
CONV_POINT16TO32( &pen->lopnWidth, &penPtr->logpen.lopnWidth );
|
||||||
return hpen;
|
return hpen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* PEN_GetObject
|
* CreatePenIndirect32 (GDI32.56)
|
||||||
*/
|
*/
|
||||||
int PEN_GetObject( PENOBJ * pen, int count, LPSTR buffer )
|
HPEN32 CreatePenIndirect32( const LOGPEN32 * pen )
|
||||||
|
{
|
||||||
|
PENOBJ * penPtr;
|
||||||
|
HPEN32 hpen;
|
||||||
|
|
||||||
|
if (pen->lopnStyle > PS_INSIDEFRAME) return 0;
|
||||||
|
hpen = GDI_AllocObject( sizeof(PENOBJ), PEN_MAGIC );
|
||||||
|
if (!hpen) return 0;
|
||||||
|
penPtr = (PENOBJ *)GDI_HEAP_LIN_ADDR( hpen );
|
||||||
|
penPtr->logpen.lopnStyle = pen->lopnStyle;
|
||||||
|
penPtr->logpen.lopnWidth = pen->lopnWidth;
|
||||||
|
penPtr->logpen.lopnColor = pen->lopnColor;
|
||||||
|
return hpen;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* PEN_GetObject16
|
||||||
|
*/
|
||||||
|
INT16 PEN_GetObject16( PENOBJ * pen, INT16 count, LPSTR buffer )
|
||||||
|
{
|
||||||
|
LOGPEN16 logpen;
|
||||||
|
logpen.lopnStyle = pen->logpen.lopnStyle;
|
||||||
|
logpen.lopnColor = pen->logpen.lopnColor;
|
||||||
|
CONV_POINT32TO16( &pen->logpen.lopnWidth, &logpen.lopnWidth );
|
||||||
|
if (count > sizeof(logpen)) count = sizeof(logpen);
|
||||||
|
memcpy( buffer, &logpen, count );
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* PEN_GetObject32
|
||||||
|
*/
|
||||||
|
INT32 PEN_GetObject32( PENOBJ * pen, INT32 count, LPSTR buffer )
|
||||||
{
|
{
|
||||||
if (count > sizeof(pen->logpen)) count = sizeof(pen->logpen);
|
if (count > sizeof(pen->logpen)) count = sizeof(pen->logpen);
|
||||||
memcpy( buffer, &pen->logpen, count );
|
memcpy( buffer, &pen->logpen, count );
|
||||||
|
@ -52,19 +106,19 @@ int PEN_GetObject( PENOBJ * pen, int count, LPSTR buffer )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* PEN_SelectObject
|
* PEN_SelectObject
|
||||||
*/
|
*/
|
||||||
HPEN16 PEN_SelectObject( DC * dc, HPEN16 hpen, PENOBJ * pen )
|
HPEN32 PEN_SelectObject( DC * dc, HPEN32 hpen, PENOBJ * pen )
|
||||||
{
|
{
|
||||||
static char dash_dash[] = { 5, 3 }; /* ----- ----- ----- */
|
HPEN32 prevHandle = dc->w.hPen;
|
||||||
static char dash_dot[] = { 2, 2 }; /* -- -- -- -- -- -- */
|
|
||||||
static char dash_dashdot[] = { 4,3,2,3 }; /* ---- -- ---- -- */
|
|
||||||
static char dash_dashdotdot[] = { 4,2,2,2,2,2 }; /* ---- -- -- ---- */
|
|
||||||
HPEN16 prevHandle = dc->w.hPen;
|
|
||||||
|
|
||||||
if (dc->header.wMagic == METAFILE_DC_MAGIC)
|
if (dc->header.wMagic == METAFILE_DC_MAGIC)
|
||||||
if (MF_CreatePenIndirect(dc, hpen, &(pen->logpen)))
|
{
|
||||||
return prevHandle;
|
LOGPEN16 logpen = { pen->logpen.lopnStyle,
|
||||||
else
|
{ pen->logpen.lopnWidth.x,
|
||||||
return 0;
|
pen->logpen.lopnWidth.y },
|
||||||
|
pen->logpen.lopnColor };
|
||||||
|
if (MF_CreatePenIndirect( dc, hpen, &logpen )) return prevHandle;
|
||||||
|
else return 0;
|
||||||
|
}
|
||||||
|
|
||||||
dc->w.hPen = hpen;
|
dc->w.hPen = hpen;
|
||||||
|
|
||||||
|
@ -77,19 +131,19 @@ HPEN16 PEN_SelectObject( DC * dc, HPEN16 hpen, PENOBJ * pen )
|
||||||
switch(pen->logpen.lopnStyle)
|
switch(pen->logpen.lopnStyle)
|
||||||
{
|
{
|
||||||
case PS_DASH:
|
case PS_DASH:
|
||||||
dc->u.x.pen.dashes = dash_dash;
|
dc->u.x.pen.dashes = (char *)PEN_dash;
|
||||||
dc->u.x.pen.dash_len = 2;
|
dc->u.x.pen.dash_len = 2;
|
||||||
break;
|
break;
|
||||||
case PS_DOT:
|
case PS_DOT:
|
||||||
dc->u.x.pen.dashes = dash_dot;
|
dc->u.x.pen.dashes = (char *)PEN_dot;
|
||||||
dc->u.x.pen.dash_len = 2;
|
dc->u.x.pen.dash_len = 2;
|
||||||
break;
|
break;
|
||||||
case PS_DASHDOT:
|
case PS_DASHDOT:
|
||||||
dc->u.x.pen.dashes = dash_dashdot;
|
dc->u.x.pen.dashes = (char *)PEN_dashdot;
|
||||||
dc->u.x.pen.dash_len = 4;
|
dc->u.x.pen.dash_len = 4;
|
||||||
break;
|
break;
|
||||||
case PS_DASHDOTDOT:
|
case PS_DASHDOTDOT:
|
||||||
dc->u.x.pen.dashes = dash_dashdotdot;
|
dc->u.x.pen.dashes = (char *)PEN_dashdotdot;
|
||||||
dc->u.x.pen.dash_len = 6;
|
dc->u.x.pen.dash_len = 6;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
136
objects/region.c
136
objects/region.c
|
@ -15,7 +15,7 @@
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* REGION_DeleteObject
|
* REGION_DeleteObject
|
||||||
*/
|
*/
|
||||||
BOOL16 REGION_DeleteObject( HRGN32 hrgn, RGNOBJ * obj )
|
BOOL32 REGION_DeleteObject( HRGN32 hrgn, RGNOBJ * obj )
|
||||||
{
|
{
|
||||||
dprintf_region(stddeb, "DeleteRegion: %04x\n", hrgn );
|
dprintf_region(stddeb, "DeleteRegion: %04x\n", hrgn );
|
||||||
if (obj->xrgn) XDestroyRegion( obj->xrgn );
|
if (obj->xrgn) XDestroyRegion( obj->xrgn );
|
||||||
|
@ -24,9 +24,18 @@ BOOL16 REGION_DeleteObject( HRGN32 hrgn, RGNOBJ * obj )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OffsetRgn (GDI.101) (GDI32.256)
|
* OffsetRgn16 (GDI.101)
|
||||||
*/
|
*/
|
||||||
INT16 OffsetRgn( HRGN32 hrgn, INT32 x, INT32 y )
|
INT16 OffsetRgn16( HRGN16 hrgn, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return OffsetRgn32( hrgn, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* OffsetRgn32 (GDI32.256)
|
||||||
|
*/
|
||||||
|
INT32 OffsetRgn32( HRGN32 hrgn, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
RGNOBJ * obj = (RGNOBJ *) GDI_GetObjPtr( hrgn, REGION_MAGIC );
|
RGNOBJ * obj = (RGNOBJ *) GDI_GetObjPtr( hrgn, REGION_MAGIC );
|
||||||
if (!obj) return ERROR;
|
if (!obj) return ERROR;
|
||||||
|
@ -74,11 +83,20 @@ INT32 GetRgnBox32( HRGN32 hrgn, LPRECT32 rect )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateRectRgn (GDI.64) (GDI32.59)
|
* CreateRectRgn16 (GDI.64)
|
||||||
*/
|
*/
|
||||||
HRGN16 CreateRectRgn( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
HRGN16 CreateRectRgn16( INT16 left, INT16 top, INT16 right, INT16 bottom )
|
||||||
{
|
{
|
||||||
HRGN16 hrgn;
|
return (HRGN16)CreateRectRgn32( left, top, right, bottom );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateRectRgn32 (GDI32.59)
|
||||||
|
*/
|
||||||
|
HRGN32 CreateRectRgn32( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
||||||
|
{
|
||||||
|
HRGN32 hrgn;
|
||||||
RGNOBJ *obj;
|
RGNOBJ *obj;
|
||||||
|
|
||||||
if (!(hrgn = GDI_AllocObject( sizeof(RGNOBJ), REGION_MAGIC ))) return 0;
|
if (!(hrgn = GDI_AllocObject( sizeof(RGNOBJ), REGION_MAGIC ))) return 0;
|
||||||
|
@ -105,7 +123,7 @@ HRGN16 CreateRectRgn( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
||||||
*/
|
*/
|
||||||
HRGN16 CreateRectRgnIndirect16( const RECT16* rect )
|
HRGN16 CreateRectRgnIndirect16( const RECT16* rect )
|
||||||
{
|
{
|
||||||
return CreateRectRgn( rect->left, rect->top, rect->right, rect->bottom );
|
return CreateRectRgn32( rect->left, rect->top, rect->right, rect->bottom );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -114,7 +132,7 @@ HRGN16 CreateRectRgnIndirect16( const RECT16* rect )
|
||||||
*/
|
*/
|
||||||
HRGN32 CreateRectRgnIndirect32( const RECT32* rect )
|
HRGN32 CreateRectRgnIndirect32( const RECT32* rect )
|
||||||
{
|
{
|
||||||
return CreateRectRgn( rect->left, rect->top, rect->right, rect->bottom );
|
return CreateRectRgn32( rect->left, rect->top, rect->right, rect->bottom );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -141,13 +159,24 @@ VOID SetRectRgn( HRGN32 hrgn, INT32 left, INT32 top, INT32 right, INT32 bottom)
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateRoundRectRgn (GDI.444) (GDI32.61)
|
* CreateRoundRectRgn16 (GDI.444)
|
||||||
*/
|
*/
|
||||||
HRGN16 CreateRoundRectRgn( INT32 left, INT32 top, INT32 right, INT32 bottom,
|
HRGN16 CreateRoundRectRgn16( INT16 left, INT16 top, INT16 right, INT16 bottom,
|
||||||
|
INT16 ellipse_width, INT16 ellipse_height )
|
||||||
|
{
|
||||||
|
return (HRGN16)CreateRoundRectRgn32( left, top, right, bottom,
|
||||||
|
ellipse_width, ellipse_height );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateRoundRectRgn32 (GDI32.61)
|
||||||
|
*/
|
||||||
|
HRGN32 CreateRoundRectRgn32( INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
INT32 ellipse_width, INT32 ellipse_height )
|
INT32 ellipse_width, INT32 ellipse_height )
|
||||||
{
|
{
|
||||||
RGNOBJ * obj;
|
RGNOBJ * obj;
|
||||||
HRGN16 hrgn;
|
HRGN32 hrgn;
|
||||||
XRectangle rect;
|
XRectangle rect;
|
||||||
int asq, bsq, d, xd, yd;
|
int asq, bsq, d, xd, yd;
|
||||||
|
|
||||||
|
@ -155,7 +184,7 @@ HRGN16 CreateRoundRectRgn( INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
|
|
||||||
if ((right <= left) || (bottom <= top) ||
|
if ((right <= left) || (bottom <= top) ||
|
||||||
(ellipse_width <= 0) || (ellipse_height <= 0))
|
(ellipse_width <= 0) || (ellipse_height <= 0))
|
||||||
return CreateRectRgn( left, top, right, bottom );
|
return CreateRectRgn32( left, top, right, bottom );
|
||||||
|
|
||||||
/* Create region */
|
/* Create region */
|
||||||
|
|
||||||
|
@ -237,11 +266,21 @@ HRGN16 CreateRoundRectRgn( INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateEllipticRgn (GDI.54) (GDI32.39)
|
* CreateEllipticRgn16 (GDI.54)
|
||||||
*/
|
*/
|
||||||
HRGN16 CreateEllipticRgn( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
HRGN16 CreateEllipticRgn16( INT16 left, INT16 top, INT16 right, INT16 bottom )
|
||||||
{
|
{
|
||||||
return CreateRoundRectRgn( left, top, right, bottom,
|
return (HRGN16)CreateRoundRectRgn32( left, top, right, bottom,
|
||||||
|
right-left, bottom-top );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateEllipticRgn32 (GDI32.39)
|
||||||
|
*/
|
||||||
|
HRGN32 CreateEllipticRgn32( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
||||||
|
{
|
||||||
|
return CreateRoundRectRgn32( left, top, right, bottom,
|
||||||
right-left, bottom-top );
|
right-left, bottom-top );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,8 +290,9 @@ HRGN16 CreateEllipticRgn( INT32 left, INT32 top, INT32 right, INT32 bottom )
|
||||||
*/
|
*/
|
||||||
HRGN16 CreateEllipticRgnIndirect16( const RECT16 *rect )
|
HRGN16 CreateEllipticRgnIndirect16( const RECT16 *rect )
|
||||||
{
|
{
|
||||||
return CreateRoundRectRgn(rect->left, rect->top, rect->right, rect->bottom,
|
return CreateRoundRectRgn32( rect->left, rect->top, rect->right,
|
||||||
rect->right-rect->left, rect->bottom-rect->top );
|
rect->bottom, rect->right - rect->left,
|
||||||
|
rect->bottom - rect->top );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -261,8 +301,9 @@ HRGN16 CreateEllipticRgnIndirect16( const RECT16 *rect )
|
||||||
*/
|
*/
|
||||||
HRGN32 CreateEllipticRgnIndirect32( const RECT32 *rect )
|
HRGN32 CreateEllipticRgnIndirect32( const RECT32 *rect )
|
||||||
{
|
{
|
||||||
return CreateRoundRectRgn(rect->left, rect->top, rect->right, rect->bottom,
|
return CreateRoundRectRgn32( rect->left, rect->top, rect->right,
|
||||||
rect->right-rect->left, rect->bottom-rect->top );
|
rect->bottom, rect->right - rect->left,
|
||||||
|
rect->bottom - rect->top );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -343,9 +384,18 @@ HRGN16 CreatePolyPolygonRgn16( const POINT16 * points, const INT16 * count,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* PtInRegion (GDI.161) (GDI32.278)
|
* PtInRegion16 (GDI.161)
|
||||||
*/
|
*/
|
||||||
BOOL16 PtInRegion( HRGN32 hrgn, INT32 x, INT32 y )
|
BOOL16 PtInRegion16( HRGN16 hrgn, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return PtInRegion32( hrgn, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* PtInRegion32 (GDI32.278)
|
||||||
|
*/
|
||||||
|
BOOL32 PtInRegion32( HRGN32 hrgn, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
RGNOBJ * obj;
|
RGNOBJ * obj;
|
||||||
|
|
||||||
|
@ -386,9 +436,18 @@ BOOL32 RectInRegion32( HRGN32 hrgn, const RECT32 *rect )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* EqualRgn (GDI.72) (GDI32.90)
|
* EqualRgn16 (GDI.72)
|
||||||
*/
|
*/
|
||||||
BOOL16 EqualRgn( HRGN32 rgn1, HRGN32 rgn2 )
|
BOOL16 EqualRgn16( HRGN16 rgn1, HRGN16 rgn2 )
|
||||||
|
{
|
||||||
|
return EqualRgn32( rgn1, rgn2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* EqualRgn32 (GDI32.90)
|
||||||
|
*/
|
||||||
|
BOOL32 EqualRgn32( HRGN32 rgn1, HRGN32 rgn2 )
|
||||||
{
|
{
|
||||||
RGNOBJ *obj1, *obj2;
|
RGNOBJ *obj1, *obj2;
|
||||||
if (!(obj1 = (RGNOBJ *) GDI_GetObjPtr( rgn1, REGION_MAGIC ))) return FALSE;
|
if (!(obj1 = (RGNOBJ *) GDI_GetObjPtr( rgn1, REGION_MAGIC ))) return FALSE;
|
||||||
|
@ -403,7 +462,7 @@ BOOL16 EqualRgn( HRGN32 rgn1, HRGN32 rgn2 )
|
||||||
*
|
*
|
||||||
* Copy region src into dest.
|
* Copy region src into dest.
|
||||||
*/
|
*/
|
||||||
static int REGION_CopyRegion( RGNOBJ *src, RGNOBJ *dest )
|
static INT32 REGION_CopyRegion( RGNOBJ *src, RGNOBJ *dest )
|
||||||
{
|
{
|
||||||
Region tmprgn;
|
Region tmprgn;
|
||||||
if (src->xrgn)
|
if (src->xrgn)
|
||||||
|
@ -428,11 +487,11 @@ static int REGION_CopyRegion( RGNOBJ *src, RGNOBJ *dest )
|
||||||
*
|
*
|
||||||
* Add rectangle to region
|
* Add rectangle to region
|
||||||
*/
|
*/
|
||||||
BOOL16 REGION_UnionRectWithRgn( HRGN32 hRgn, LPRECT16 rc )
|
BOOL32 REGION_UnionRectWithRgn( HRGN32 hRgn, LPRECT16 rc )
|
||||||
{
|
{
|
||||||
RGNOBJ *rgnObj = (RGNOBJ*) GDI_GetObjPtr( hRgn, REGION_MAGIC );
|
RGNOBJ *rgnObj = (RGNOBJ*) GDI_GetObjPtr( hRgn, REGION_MAGIC );
|
||||||
XRectangle rect = { rc->left, rc->top, rc->right - rc->left, rc->bottom - rc->top };
|
XRectangle rect = { rc->left, rc->top, rc->right - rc->left, rc->bottom - rc->top };
|
||||||
BOOL16 ret = 0;
|
BOOL32 ret = FALSE;
|
||||||
|
|
||||||
if( rgnObj )
|
if( rgnObj )
|
||||||
{
|
{
|
||||||
|
@ -452,34 +511,45 @@ BOOL16 REGION_UnionRectWithRgn( HRGN32 hRgn, LPRECT16 rc )
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* REGION_CreateFrameRgn
|
* REGION_CreateFrameRgn
|
||||||
*
|
*
|
||||||
* Create a region that is a frame around another region
|
* Create a region that is a frame around another region
|
||||||
*/
|
*/
|
||||||
BOOL16 REGION_FrameRgn( HRGN32 hDest, HRGN32 hSrc, INT32 x, INT32 y )
|
BOOL32 REGION_FrameRgn( HRGN32 hDest, HRGN32 hSrc, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
RGNOBJ *destObj,*srcObj;
|
RGNOBJ *destObj,*srcObj;
|
||||||
Region result;
|
Region result;
|
||||||
|
|
||||||
destObj = (RGNOBJ*) GDI_GetObjPtr( hDest, REGION_MAGIC );
|
destObj = (RGNOBJ*) GDI_GetObjPtr( hDest, REGION_MAGIC );
|
||||||
srcObj = (RGNOBJ*) GDI_GetObjPtr( hSrc, REGION_MAGIC );
|
srcObj = (RGNOBJ*) GDI_GetObjPtr( hSrc, REGION_MAGIC );
|
||||||
if (!srcObj->xrgn) return 0;
|
if (!srcObj->xrgn) return FALSE;
|
||||||
REGION_CopyRegion( srcObj, destObj );
|
REGION_CopyRegion( srcObj, destObj );
|
||||||
XShrinkRegion( destObj->xrgn, -x, -y );
|
XShrinkRegion( destObj->xrgn, -x, -y );
|
||||||
result = XCreateRegion();
|
result = XCreateRegion();
|
||||||
XSubtractRegion( destObj->xrgn, srcObj->xrgn, result );
|
XSubtractRegion( destObj->xrgn, srcObj->xrgn, result );
|
||||||
XDestroyRegion( destObj->xrgn );
|
XDestroyRegion( destObj->xrgn );
|
||||||
destObj->xrgn = result;
|
destObj->xrgn = result;
|
||||||
return 1;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CombineRgn (GDI.451) (GDI32.19)
|
* CombineRgn16 (GDI.451)
|
||||||
*
|
|
||||||
* The behavior is correct even if src and dest regions are the same.
|
|
||||||
*/
|
*/
|
||||||
INT16 CombineRgn( HRGN32 hDest, HRGN32 hSrc1, HRGN32 hSrc2, INT32 mode )
|
INT16 CombineRgn16( HRGN16 hDest, HRGN16 hSrc1, HRGN16 hSrc2, INT16 mode )
|
||||||
|
{
|
||||||
|
return (INT16)CombineRgn32( hDest, hSrc1, hSrc2, mode );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CombineRgn32 (GDI32.19)
|
||||||
|
*
|
||||||
|
* Note: The behavior is correct even if src and dest regions are the same.
|
||||||
|
*/
|
||||||
|
INT32 CombineRgn32( HRGN32 hDest, HRGN32 hSrc1, HRGN32 hSrc2, INT32 mode )
|
||||||
{
|
{
|
||||||
RGNOBJ *destObj, *src1Obj, *src2Obj;
|
RGNOBJ *destObj, *src1Obj, *src2Obj;
|
||||||
Region destrgn;
|
Region destrgn;
|
||||||
|
|
|
@ -256,12 +256,12 @@ INT16 DrawText16( HDC16 hdc, LPCSTR str, INT16 i_count,
|
||||||
rect, line, len, NULL )) return 0;
|
rect, line, len, NULL )) return 0;
|
||||||
if (prefix_offset != -1)
|
if (prefix_offset != -1)
|
||||||
{
|
{
|
||||||
HPEN16 hpen = CreatePen( PS_SOLID, 1, GetTextColor(hdc) );
|
HPEN32 hpen = CreatePen32( PS_SOLID, 1, GetTextColor(hdc) );
|
||||||
HPEN16 oldPen = SelectObject( hdc, hpen );
|
HPEN32 oldPen = SelectObject32( hdc, hpen );
|
||||||
MoveTo(hdc, x + prefix_x, y + tm.tmAscent + 1 );
|
MoveTo(hdc, x + prefix_x, y + tm.tmAscent + 1 );
|
||||||
LineTo(hdc, x + prefix_end, y + tm.tmAscent + 1 );
|
LineTo32(hdc, x + prefix_end, y + tm.tmAscent + 1 );
|
||||||
SelectObject( hdc, oldPen );
|
SelectObject32( hdc, oldPen );
|
||||||
DeleteObject( hpen );
|
DeleteObject32( hpen );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (size.cx > max_width)
|
else if (size.cx > max_width)
|
||||||
|
@ -567,8 +567,7 @@ BOOL16 ExtTextOut16( HDC16 hdc, INT16 x, INT16 y, UINT16 flags,
|
||||||
|
|
||||||
if (flags & ETO_CLIPPED)
|
if (flags & ETO_CLIPPED)
|
||||||
{
|
{
|
||||||
if( dc->w.flags & DC_MEMORY )
|
if (dc->w.flags & DC_MEMORY) SelectClipRgn16( hdc, hRgnClip );
|
||||||
SelectClipRgn( hdc, hRgnClip );
|
|
||||||
else RestoreVisRgn( hdc );
|
else RestoreVisRgn( hdc );
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
%{
|
/* -*-C-*-
|
||||||
/*
|
|
||||||
*
|
*
|
||||||
* Copyright Martin von Loewis, 1994
|
* Copyright Martin von Loewis, 1994
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
%{
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -11,6 +11,8 @@
|
||||||
#include "parser.h"
|
#include "parser.h"
|
||||||
#include "y.tab.h"
|
#include "y.tab.h"
|
||||||
|
|
||||||
|
#define YY_NO_UNPUT
|
||||||
|
|
||||||
int line_number=1;
|
int line_number=1;
|
||||||
%}
|
%}
|
||||||
%%
|
%%
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "parser.h"
|
#include "parser.h"
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
|
|
||||||
|
int yylex(void);
|
||||||
|
int yyerror(const char *s);
|
||||||
|
|
||||||
%}
|
%}
|
||||||
%union{
|
%union{
|
||||||
gen_res *res;
|
gen_res *res;
|
||||||
|
@ -214,7 +218,7 @@ style_elm: NUMBER {$$=new_style();$$->or=$1;}
|
||||||
extern int line_number;
|
extern int line_number;
|
||||||
extern char* yytext;
|
extern char* yytext;
|
||||||
|
|
||||||
int yyerror(char *s)
|
int yyerror( const char *s )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"stdin:%d: %s before '%s'\n",line_number,s,yytext);
|
fprintf(stderr,"stdin:%d: %s before '%s'\n",line_number,s,yytext);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "parser.h"
|
#include "parser.h"
|
||||||
#include "y.tab.h"
|
|
||||||
|
|
||||||
char usage[]="winerc -bdvc -p prefix -o outfile < infile \n"
|
char usage[]="winerc -bdvc -p prefix -o outfile < infile \n"
|
||||||
" -b Create a C array from a binary .res file\n"
|
" -b Create a C array from a binary .res file\n"
|
||||||
|
|
|
@ -229,6 +229,7 @@ static void parse_file( INCL_FILE *pFile, int src )
|
||||||
*p = 0;
|
*p = 0;
|
||||||
add_include( pFile, include );
|
add_include( pFile, include );
|
||||||
}
|
}
|
||||||
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -293,6 +294,7 @@ static void output_dependencies(void)
|
||||||
pFile, &column );
|
pFile, &column );
|
||||||
fprintf( file, "\n" );
|
fprintf( file, "\n" );
|
||||||
}
|
}
|
||||||
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -372,8 +372,8 @@ static HGLOBAL32 CURSORICON32_LoadHandler( HANDLE32 handle,
|
||||||
if (!(hRes = GlobalAlloc16( GMEM_MOVEABLE,
|
if (!(hRes = GlobalAlloc16( GMEM_MOVEABLE,
|
||||||
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
sizeof(CURSORICONINFO) + sizeXor + sizeAnd)))
|
||||||
{
|
{
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,8 +393,8 @@ static HGLOBAL32 CURSORICON32_LoadHandler( HANDLE32 handle,
|
||||||
|
|
||||||
GetBitmapBits( hAndBits, sizeAnd, (char *)(info + 1) );
|
GetBitmapBits( hAndBits, sizeAnd, (char *)(info + 1) );
|
||||||
GetBitmapBits( hXorBits, sizeXor, (char *)(info + 1) + sizeAnd );
|
GetBitmapBits( hXorBits, sizeXor, (char *)(info + 1) + sizeAnd );
|
||||||
DeleteObject( hXorBits );
|
DeleteObject32( hXorBits );
|
||||||
DeleteObject( hAndBits );
|
DeleteObject32( hAndBits );
|
||||||
GlobalUnlock16( hRes );
|
GlobalUnlock16( hRes );
|
||||||
return hRes;
|
return hRes;
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,9 +59,9 @@ static void CARET_DisplayCaret( DISPLAY_CARET status )
|
||||||
|
|
||||||
Caret.on = !Caret.on;
|
Caret.on = !Caret.on;
|
||||||
if (!(hdc = GetDCEx32( Caret.hwnd, 0, DCX_USESTYLE | DCX_CACHE ))) return;
|
if (!(hdc = GetDCEx32( Caret.hwnd, 0, DCX_USESTYLE | DCX_CACHE ))) return;
|
||||||
hPrevBrush = SelectObject( hdc, Caret.hBrush );
|
hPrevBrush = SelectObject32( hdc, Caret.hBrush );
|
||||||
PatBlt( hdc, Caret.x, Caret.y, Caret.width, Caret.height, PATINVERT );
|
PatBlt( hdc, Caret.x, Caret.y, Caret.width, Caret.height, PATINVERT );
|
||||||
SelectObject( hdc, hPrevBrush );
|
SelectObject32( hdc, hPrevBrush );
|
||||||
ReleaseDC32( Caret.hwnd, hdc );
|
ReleaseDC32( Caret.hwnd, hdc );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,13 +134,13 @@ BOOL16 CreateCaret( HWND32 hwnd, HBITMAP32 bitmap, INT32 width, INT32 height )
|
||||||
Caret.width = bmp.bmWidth;
|
Caret.width = bmp.bmWidth;
|
||||||
Caret.height = bmp.bmHeight;
|
Caret.height = bmp.bmHeight;
|
||||||
/* FIXME: we should make a copy of the bitmap instead of a brush */
|
/* FIXME: we should make a copy of the bitmap instead of a brush */
|
||||||
Caret.hBrush = CreatePatternBrush( bitmap );
|
Caret.hBrush = CreatePatternBrush32( bitmap );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Caret.width = width ? width : GetSystemMetrics(SM_CXBORDER);
|
Caret.width = width ? width : GetSystemMetrics(SM_CXBORDER);
|
||||||
Caret.height = height ? height : GetSystemMetrics(SM_CYBORDER);
|
Caret.height = height ? height : GetSystemMetrics(SM_CYBORDER);
|
||||||
Caret.hBrush = CreateSolidBrush( bitmap ? GetSysColor(COLOR_GRAYTEXT) :
|
Caret.hBrush = CreateSolidBrush32(bitmap ? GetSysColor(COLOR_GRAYTEXT):
|
||||||
GetSysColor(COLOR_WINDOW) );
|
GetSysColor(COLOR_WINDOW) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ BOOL16 DestroyCaret(void)
|
||||||
dprintf_caret(stddeb,"DestroyCaret: hwnd=%04x, timerid=%d\n",
|
dprintf_caret(stddeb,"DestroyCaret: hwnd=%04x, timerid=%d\n",
|
||||||
Caret.hwnd, Caret.timerid);
|
Caret.hwnd, Caret.timerid);
|
||||||
|
|
||||||
DeleteObject( Caret.hBrush );
|
DeleteObject32( Caret.hBrush );
|
||||||
CARET_KillTimer();
|
CARET_KillTimer();
|
||||||
CARET_DisplayCaret(CARET_OFF);
|
CARET_DisplayCaret(CARET_OFF);
|
||||||
Caret.hwnd = 0;
|
Caret.hwnd = 0;
|
||||||
|
|
|
@ -182,7 +182,7 @@ static BOOL CLASS_FreeClass( CLASS *classPtr )
|
||||||
/* Delete the class */
|
/* Delete the class */
|
||||||
|
|
||||||
if (classPtr->dce) DCE_FreeDCE( classPtr->dce );
|
if (classPtr->dce) DCE_FreeDCE( classPtr->dce );
|
||||||
if (classPtr->hbrBackground) DeleteObject( classPtr->hbrBackground );
|
if (classPtr->hbrBackground) DeleteObject32( classPtr->hbrBackground );
|
||||||
GlobalDeleteAtom( classPtr->atomName );
|
GlobalDeleteAtom( classPtr->atomName );
|
||||||
CLASS_SetMenuNameA( classPtr, NULL );
|
CLASS_SetMenuNameA( classPtr, NULL );
|
||||||
WINPROC_FreeProc( classPtr->winproc );
|
WINPROC_FreeProc( classPtr->winproc );
|
||||||
|
|
|
@ -87,7 +87,7 @@ void DCE_FreeDCE( DCE *dce )
|
||||||
|
|
||||||
DeleteDC( dce->hDC );
|
DeleteDC( dce->hDC );
|
||||||
if( dce->hClipRgn && !(dce->DCXflags & DCX_KEEPCLIPRGN) )
|
if( dce->hClipRgn && !(dce->DCXflags & DCX_KEEPCLIPRGN) )
|
||||||
DeleteObject(dce->hClipRgn);
|
DeleteObject32(dce->hClipRgn);
|
||||||
HeapFree( SystemHeap, 0, dce );
|
HeapFree( SystemHeap, 0, dce );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,9 +242,9 @@ static HRGN32 DCE_ClipWindows( WND *pWndStart, WND *pWndEnd,
|
||||||
HRGN32 hrgnNew;
|
HRGN32 hrgnNew;
|
||||||
|
|
||||||
if (!pWndStart) return hrgn;
|
if (!pWndStart) return hrgn;
|
||||||
if (!(hrgnNew = CreateRectRgn( 0, 0, 0, 0 )))
|
if (!(hrgnNew = CreateRectRgn32( 0, 0, 0, 0 )))
|
||||||
{
|
{
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
for (; pWndStart != pWndEnd; pWndStart = pWndStart->next)
|
for (; pWndStart != pWndEnd; pWndStart = pWndStart->next)
|
||||||
|
@ -254,12 +254,12 @@ static HRGN32 DCE_ClipWindows( WND *pWndStart, WND *pWndEnd,
|
||||||
pWndStart->rectWindow.top + yoffset,
|
pWndStart->rectWindow.top + yoffset,
|
||||||
pWndStart->rectWindow.right + xoffset,
|
pWndStart->rectWindow.right + xoffset,
|
||||||
pWndStart->rectWindow.bottom + yoffset );
|
pWndStart->rectWindow.bottom + yoffset );
|
||||||
if (!CombineRgn( hrgn, hrgn, hrgnNew, RGN_DIFF )) break;
|
if (!CombineRgn32( hrgn, hrgn, hrgnNew, RGN_DIFF )) break;
|
||||||
}
|
}
|
||||||
DeleteObject( hrgnNew );
|
DeleteObject32( hrgnNew );
|
||||||
if (pWndStart != pWndEnd) /* something went wrong */
|
if (pWndStart != pWndEnd) /* something went wrong */
|
||||||
{
|
{
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return hrgn;
|
return hrgn;
|
||||||
|
@ -287,7 +287,7 @@ HRGN32 DCE_GetVisRgn( HWND hwnd, WORD flags )
|
||||||
|
|
||||||
if (!wndPtr || !DCE_GetVisRect( wndPtr, !(flags & DCX_WINDOW), &rect ))
|
if (!wndPtr || !DCE_GetVisRect( wndPtr, !(flags & DCX_WINDOW), &rect ))
|
||||||
{
|
{
|
||||||
return CreateRectRgn( 0, 0, 0, 0 ); /* Visible region is empty */
|
return CreateRectRgn32( 0, 0, 0, 0 ); /* Visible region is empty */
|
||||||
}
|
}
|
||||||
if (!(hrgn = CreateRectRgnIndirect16( &rect ))) return 0;
|
if (!(hrgn = CreateRectRgnIndirect16( &rect ))) return 0;
|
||||||
|
|
||||||
|
@ -407,6 +407,8 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
|
|
||||||
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return 0;
|
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return 0;
|
||||||
|
|
||||||
|
if (!(wndPtr->class->style & (CS_OWNDC | CS_CLASSDC))) flags |= DCX_CACHE;
|
||||||
|
|
||||||
if (flags & DCX_USESTYLE)
|
if (flags & DCX_USESTYLE)
|
||||||
{
|
{
|
||||||
flags &= ~( DCX_CLIPCHILDREN | DCX_CLIPSIBLINGS | DCX_PARENTCLIP);
|
flags &= ~( DCX_CLIPCHILDREN | DCX_CLIPSIBLINGS | DCX_PARENTCLIP);
|
||||||
|
@ -416,9 +418,6 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
|
|
||||||
if ( !(flags & DCX_WINDOW) )
|
if ( !(flags & DCX_WINDOW) )
|
||||||
{
|
{
|
||||||
if (!(wndPtr->class->style & (CS_OWNDC | CS_CLASSDC)))
|
|
||||||
flags |= DCX_CACHE;
|
|
||||||
|
|
||||||
if (wndPtr->class->style & CS_PARENTDC) flags |= DCX_PARENTCLIP;
|
if (wndPtr->class->style & CS_PARENTDC) flags |= DCX_PARENTCLIP;
|
||||||
|
|
||||||
if (wndPtr->dwStyle & WS_CLIPCHILDREN &&
|
if (wndPtr->dwStyle & WS_CLIPCHILDREN &&
|
||||||
|
@ -469,7 +468,7 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
if( hrgnClip && dce->hClipRgn && !(dce->DCXflags & DCX_KEEPCLIPRGN))
|
if( hrgnClip && dce->hClipRgn && !(dce->DCXflags & DCX_KEEPCLIPRGN))
|
||||||
{
|
{
|
||||||
fprintf(stdnimp,"GetDCEx: hClipRgn collision!\n");
|
fprintf(stdnimp,"GetDCEx: hClipRgn collision!\n");
|
||||||
DeleteObject(dce->hClipRgn);
|
DeleteObject32( dce->hClipRgn );
|
||||||
need_update = TRUE;
|
need_update = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -498,16 +497,16 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
dcx_flags |= DCX_CLIPSIBLINGS;
|
dcx_flags |= DCX_CLIPSIBLINGS;
|
||||||
hrgnVisible = DCE_GetVisRgn( parentPtr->hwndSelf, dcx_flags );
|
hrgnVisible = DCE_GetVisRgn( parentPtr->hwndSelf, dcx_flags );
|
||||||
if (flags & DCX_WINDOW)
|
if (flags & DCX_WINDOW)
|
||||||
OffsetRgn( hrgnVisible, -wndPtr->rectWindow.left,
|
OffsetRgn32( hrgnVisible, -wndPtr->rectWindow.left,
|
||||||
-wndPtr->rectWindow.top );
|
-wndPtr->rectWindow.top );
|
||||||
else OffsetRgn( hrgnVisible, -wndPtr->rectClient.left,
|
else OffsetRgn32( hrgnVisible, -wndPtr->rectClient.left,
|
||||||
-wndPtr->rectClient.top );
|
-wndPtr->rectClient.top );
|
||||||
}
|
}
|
||||||
/* optimize away GetVisRgn for desktop if it isn't there */
|
/* optimize away GetVisRgn for desktop if it isn't there */
|
||||||
|
|
||||||
else if ((hwnd == GetDesktopWindow32()) &&
|
else if ((hwnd == GetDesktopWindow32()) &&
|
||||||
(rootWindow == DefaultRootWindow(display)))
|
(rootWindow == DefaultRootWindow(display)))
|
||||||
hrgnVisible = CreateRectRgn( 0, 0, SYSMETRICS_CXSCREEN,
|
hrgnVisible = CreateRectRgn32( 0, 0, SYSMETRICS_CXSCREEN,
|
||||||
SYSMETRICS_CYSCREEN );
|
SYSMETRICS_CYSCREEN );
|
||||||
else hrgnVisible = DCE_GetVisRgn( hwnd, flags );
|
else hrgnVisible = DCE_GetVisRgn( hwnd, flags );
|
||||||
|
|
||||||
|
@ -526,7 +525,7 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
dc->w.flags &= ~DC_DIRTY;
|
dc->w.flags &= ~DC_DIRTY;
|
||||||
SelectVisRgn( hdc, hrgnVisible );
|
SelectVisRgn( hdc, hrgnVisible );
|
||||||
}
|
}
|
||||||
else hrgnVisible = CreateRectRgn(0,0,0,0);
|
else hrgnVisible = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
|
|
||||||
if ((flags & DCX_INTERSECTRGN) || (flags & DCX_EXCLUDERGN))
|
if ((flags & DCX_INTERSECTRGN) || (flags & DCX_EXCLUDERGN))
|
||||||
{
|
{
|
||||||
|
@ -536,11 +535,11 @@ HDC32 GetDCEx32( HWND32 hwnd, HRGN32 hrgnClip, DWORD flags )
|
||||||
dprintf_dc(stddeb, "\tsaved VisRgn, clipRgn = %04x\n", hrgnClip);
|
dprintf_dc(stddeb, "\tsaved VisRgn, clipRgn = %04x\n", hrgnClip);
|
||||||
|
|
||||||
SaveVisRgn( hdc );
|
SaveVisRgn( hdc );
|
||||||
CombineRgn( hrgnVisible, InquireVisRgn( hdc ), hrgnClip,
|
CombineRgn32( hrgnVisible, InquireVisRgn( hdc ), hrgnClip,
|
||||||
(flags & DCX_INTERSECTRGN) ? RGN_AND : RGN_DIFF );
|
(flags & DCX_INTERSECTRGN) ? RGN_AND : RGN_DIFF );
|
||||||
SelectVisRgn( hdc, hrgnVisible );
|
SelectVisRgn( hdc, hrgnVisible );
|
||||||
}
|
}
|
||||||
DeleteObject( hrgnVisible );
|
DeleteObject32( hrgnVisible );
|
||||||
|
|
||||||
dprintf_dc(stddeb, "GetDCEx(%04x,%04x,0x%lx): returning %04x\n",
|
dprintf_dc(stddeb, "GetDCEx(%04x,%04x,0x%lx): returning %04x\n",
|
||||||
hwnd, hrgnClip, flags, hdc);
|
hwnd, hrgnClip, flags, hdc);
|
||||||
|
@ -622,7 +621,7 @@ INT32 ReleaseDC32( HWND32 hwnd, HDC32 hdc )
|
||||||
dce->DCXflags &= ~DCX_KEEPCLIPRGN;
|
dce->DCXflags &= ~DCX_KEEPCLIPRGN;
|
||||||
else
|
else
|
||||||
if( dce->hClipRgn > 1 )
|
if( dce->hClipRgn > 1 )
|
||||||
DeleteObject( dce->hClipRgn );
|
DeleteObject32( dce->hClipRgn );
|
||||||
|
|
||||||
dce->hClipRgn = 0;
|
dce->hClipRgn = 0;
|
||||||
RestoreVisRgn(dce->hDC);
|
RestoreVisRgn(dce->hDC);
|
||||||
|
@ -673,11 +672,11 @@ BOOL16 DCHook( HDC16 hDC, WORD code, DWORD data, LPARAM lParam )
|
||||||
(dce->hClipRgn == 1 && dce->DCXflags & DCX_EXCLUDERGN) )
|
(dce->hClipRgn == 1 && dce->DCXflags & DCX_EXCLUDERGN) )
|
||||||
SetRectRgn(hVisRgn,0,0,0,0);
|
SetRectRgn(hVisRgn,0,0,0,0);
|
||||||
else
|
else
|
||||||
CombineRgn(hVisRgn, hVisRgn, dce->hClipRgn,
|
CombineRgn32(hVisRgn, hVisRgn, dce->hClipRgn,
|
||||||
(dce->DCXflags & DCX_EXCLUDERGN)? RGN_DIFF:RGN_AND);
|
(dce->DCXflags & DCX_EXCLUDERGN)? RGN_DIFF:RGN_AND);
|
||||||
}
|
}
|
||||||
SelectVisRgn(hDC, hVisRgn);
|
SelectVisRgn(hDC, hVisRgn);
|
||||||
DeleteObject(hVisRgn);
|
DeleteObject32( hVisRgn );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
dprintf_dc(stddeb,"DCHook: DC is not in use!\n");
|
dprintf_dc(stddeb,"DCHook: DC is not in use!\n");
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Set the focus to a control of the dialog, selecting the text if
|
* Set the focus to a control of the dialog, selecting the text if
|
||||||
* the control is an edit dialog.
|
* the control is an edit dialog.
|
||||||
*/
|
*/
|
||||||
static void DEFDLG_SetFocus( HWND hwndDlg, HWND hwndCtrl )
|
static void DEFDLG_SetFocus( HWND32 hwndDlg, HWND32 hwndCtrl )
|
||||||
{
|
{
|
||||||
HWND32 hwndPrev = GetFocus32();
|
HWND32 hwndPrev = GetFocus32();
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ static void DEFDLG_SetFocus( HWND hwndDlg, HWND hwndCtrl )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DEFDLG_SaveFocus
|
* DEFDLG_SaveFocus
|
||||||
*/
|
*/
|
||||||
static BOOL DEFDLG_SaveFocus( HWND hwnd, DIALOGINFO *infoPtr )
|
static BOOL32 DEFDLG_SaveFocus( HWND32 hwnd, DIALOGINFO *infoPtr )
|
||||||
{
|
{
|
||||||
HWND32 hwndFocus = GetFocus32();
|
HWND32 hwndFocus = GetFocus32();
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ static BOOL DEFDLG_SaveFocus( HWND hwnd, DIALOGINFO *infoPtr )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DEFDLG_RestoreFocus
|
* DEFDLG_RestoreFocus
|
||||||
*/
|
*/
|
||||||
static BOOL DEFDLG_RestoreFocus( HWND hwnd, DIALOGINFO *infoPtr )
|
static BOOL32 DEFDLG_RestoreFocus( HWND32 hwnd, DIALOGINFO *infoPtr )
|
||||||
{
|
{
|
||||||
if (!infoPtr->hwndFocus || IsIconic(hwnd)) return FALSE;
|
if (!infoPtr->hwndFocus || IsIconic(hwnd)) return FALSE;
|
||||||
if (!IsWindow( infoPtr->hwndFocus )) return FALSE;
|
if (!IsWindow( infoPtr->hwndFocus )) return FALSE;
|
||||||
|
@ -64,9 +64,9 @@ static BOOL DEFDLG_RestoreFocus( HWND hwnd, DIALOGINFO *infoPtr )
|
||||||
*
|
*
|
||||||
* Find the current default push-button.
|
* Find the current default push-button.
|
||||||
*/
|
*/
|
||||||
static HWND DEFDLG_FindDefButton( HWND hwndDlg )
|
static HWND32 DEFDLG_FindDefButton( HWND32 hwndDlg )
|
||||||
{
|
{
|
||||||
HWND hwndChild = GetWindow( hwndDlg, GW_CHILD );
|
HWND32 hwndChild = GetWindow( hwndDlg, GW_CHILD );
|
||||||
while (hwndChild)
|
while (hwndChild)
|
||||||
{
|
{
|
||||||
if (SendMessage16( hwndChild, WM_GETDLGCODE, 0, 0 ) & DLGC_DEFPUSHBUTTON)
|
if (SendMessage16( hwndChild, WM_GETDLGCODE, 0, 0 ) & DLGC_DEFPUSHBUTTON)
|
||||||
|
@ -82,8 +82,8 @@ static HWND DEFDLG_FindDefButton( HWND hwndDlg )
|
||||||
*
|
*
|
||||||
* Set the new default button to be hwndNew.
|
* Set the new default button to be hwndNew.
|
||||||
*/
|
*/
|
||||||
static BOOL DEFDLG_SetDefButton( HWND hwndDlg, DIALOGINFO *dlgInfo,
|
static BOOL32 DEFDLG_SetDefButton( HWND32 hwndDlg, DIALOGINFO *dlgInfo,
|
||||||
HWND hwndNew )
|
HWND32 hwndNew )
|
||||||
{
|
{
|
||||||
if (hwndNew &&
|
if (hwndNew &&
|
||||||
!(SendMessage16(hwndNew, WM_GETDLGCODE, 0, 0 ) & DLGC_UNDEFPUSHBUTTON))
|
!(SendMessage16(hwndNew, WM_GETDLGCODE, 0, 0 ) & DLGC_UNDEFPUSHBUTTON))
|
||||||
|
@ -91,7 +91,7 @@ static BOOL DEFDLG_SetDefButton( HWND hwndDlg, DIALOGINFO *dlgInfo,
|
||||||
|
|
||||||
if (dlgInfo->msgResult) /* There's already a default pushbutton */
|
if (dlgInfo->msgResult) /* There's already a default pushbutton */
|
||||||
{
|
{
|
||||||
HWND hwndOld = GetDlgItem( hwndDlg, dlgInfo->msgResult );
|
HWND32 hwndOld = GetDlgItem( hwndDlg, dlgInfo->msgResult );
|
||||||
if (SendMessage32A( hwndOld, WM_GETDLGCODE, 0, 0) & DLGC_DEFPUSHBUTTON)
|
if (SendMessage32A( hwndOld, WM_GETDLGCODE, 0, 0) & DLGC_DEFPUSHBUTTON)
|
||||||
SendMessage32A( hwndOld, BM_SETSTYLE32, BS_PUSHBUTTON, TRUE );
|
SendMessage32A( hwndOld, BM_SETSTYLE32, BS_PUSHBUTTON, TRUE );
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ static BOOL DEFDLG_SetDefButton( HWND hwndDlg, DIALOGINFO *dlgInfo,
|
||||||
static LRESULT DEFDLG_Proc( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
|
static LRESULT DEFDLG_Proc( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
|
||||||
LPARAM lParam, DIALOGINFO *dlgInfo )
|
LPARAM lParam, DIALOGINFO *dlgInfo )
|
||||||
{
|
{
|
||||||
HWND hwndDefId;
|
HWND32 hwndDefId;
|
||||||
|
|
||||||
switch(msg)
|
switch(msg)
|
||||||
{
|
{
|
||||||
|
@ -138,7 +138,7 @@ static LRESULT DEFDLG_Proc( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
|
||||||
/* Delete font */
|
/* Delete font */
|
||||||
if (dlgInfo->hUserFont)
|
if (dlgInfo->hUserFont)
|
||||||
{
|
{
|
||||||
DeleteObject( dlgInfo->hUserFont );
|
DeleteObject32( dlgInfo->hUserFont );
|
||||||
dlgInfo->hUserFont = 0;
|
dlgInfo->hUserFont = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ static LRESULT DEFDLG_Proc( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
|
||||||
|
|
||||||
case WM_NEXTDLGCTL:
|
case WM_NEXTDLGCTL:
|
||||||
{
|
{
|
||||||
HWND hwndDest = (HWND)wParam;
|
HWND32 hwndDest = (HWND32)wParam;
|
||||||
if (!lParam)
|
if (!lParam)
|
||||||
hwndDest = GetNextDlgTabItem32(hwnd, GetFocus32(), wParam);
|
hwndDest = GetNextDlgTabItem32(hwnd, GetFocus32(), wParam);
|
||||||
if (hwndDest) DEFDLG_SetFocus( hwnd, hwndDest );
|
if (hwndDest) DEFDLG_SetFocus( hwnd, hwndDest );
|
||||||
|
|
|
@ -172,11 +172,11 @@ static LRESULT DEFWND_DefWinProc( WND *wndPtr, UINT32 msg, WPARAM32 wParam,
|
||||||
|
|
||||||
if (wndPtr->class->hbrBackground <= (HBRUSH16)(COLOR_MAX+1))
|
if (wndPtr->class->hbrBackground <= (HBRUSH16)(COLOR_MAX+1))
|
||||||
{
|
{
|
||||||
HBRUSH16 hbrush = CreateSolidBrush(
|
HBRUSH32 hbrush = CreateSolidBrush32(
|
||||||
GetSysColor(((DWORD)wndPtr->class->hbrBackground)-1));
|
GetSysColor(((DWORD)wndPtr->class->hbrBackground)-1));
|
||||||
FillWindow( GetParent16(wndPtr->hwndSelf), wndPtr->hwndSelf,
|
FillWindow( GetParent16(wndPtr->hwndSelf), wndPtr->hwndSelf,
|
||||||
(HDC16)wParam, hbrush);
|
(HDC16)wParam, hbrush);
|
||||||
DeleteObject (hbrush);
|
DeleteObject32( hbrush );
|
||||||
}
|
}
|
||||||
else FillWindow( GetParent16(wndPtr->hwndSelf), wndPtr->hwndSelf,
|
else FillWindow( GetParent16(wndPtr->hwndSelf), wndPtr->hwndSelf,
|
||||||
(HDC16)wParam, wndPtr->class->hbrBackground );
|
(HDC16)wParam, wndPtr->class->hbrBackground );
|
||||||
|
@ -199,7 +199,7 @@ static LRESULT DEFWND_DefWinProc( WND *wndPtr, UINT32 msg, WPARAM32 wParam,
|
||||||
case WM_CTLCOLORSCROLLBAR:
|
case WM_CTLCOLORSCROLLBAR:
|
||||||
SetBkColor( (HDC32)wParam, RGB(255, 255, 255) );
|
SetBkColor( (HDC32)wParam, RGB(255, 255, 255) );
|
||||||
SetTextColor( (HDC32)wParam, RGB(0, 0, 0) );
|
SetTextColor( (HDC32)wParam, RGB(0, 0, 0) );
|
||||||
UnrealizeObject( sysColorObjects.hbrushScrollbar );
|
UnrealizeObject32( sysColorObjects.hbrushScrollbar );
|
||||||
return (LRESULT)sysColorObjects.hbrushScrollbar;
|
return (LRESULT)sysColorObjects.hbrushScrollbar;
|
||||||
|
|
||||||
case WM_CTLCOLOR:
|
case WM_CTLCOLOR:
|
||||||
|
@ -208,7 +208,7 @@ static LRESULT DEFWND_DefWinProc( WND *wndPtr, UINT32 msg, WPARAM32 wParam,
|
||||||
{
|
{
|
||||||
SetBkColor( (HDC32)wParam, RGB(255, 255, 255) );
|
SetBkColor( (HDC32)wParam, RGB(255, 255, 255) );
|
||||||
SetTextColor( (HDC32)wParam, RGB(0, 0, 0) );
|
SetTextColor( (HDC32)wParam, RGB(0, 0, 0) );
|
||||||
UnrealizeObject( sysColorObjects.hbrushScrollbar );
|
UnrealizeObject32( sysColorObjects.hbrushScrollbar );
|
||||||
return (LRESULT)sysColorObjects.hbrushScrollbar;
|
return (LRESULT)sysColorObjects.hbrushScrollbar;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -237,7 +237,7 @@ static BOOL32 DIALOG_CreateControls( WND *pWnd, LPCSTR template, INT32 items,
|
||||||
HINSTANCE16 instance;
|
HINSTANCE16 instance;
|
||||||
template = DIALOG_GetControl16( template, &info );
|
template = DIALOG_GetControl16( template, &info );
|
||||||
if (HIWORD(info.className) && !strcmp( info.className, "EDIT") &&
|
if (HIWORD(info.className) && !strcmp( info.className, "EDIT") &&
|
||||||
((info.style & DS_LOCALEDIT) != DS_LOCALEDIT))
|
((pWnd->dwStyle & DS_LOCALEDIT) != DS_LOCALEDIT))
|
||||||
{
|
{
|
||||||
if (!dlgInfo->hDialogHeap)
|
if (!dlgInfo->hDialogHeap)
|
||||||
{
|
{
|
||||||
|
@ -502,9 +502,9 @@ static HWND DIALOG_CreateIndirect( HINSTANCE32 hInst, LPCSTR dlgTemplate,
|
||||||
HFONT16 oldFont;
|
HFONT16 oldFont;
|
||||||
|
|
||||||
HDC32 hdc = GetDC32(0);
|
HDC32 hdc = GetDC32(0);
|
||||||
oldFont = SelectObject( hdc, hFont );
|
oldFont = SelectObject32( hdc, hFont );
|
||||||
GetTextMetrics16( hdc, &tm );
|
GetTextMetrics16( hdc, &tm );
|
||||||
SelectObject( hdc, oldFont );
|
SelectObject32( hdc, oldFont );
|
||||||
ReleaseDC32( 0, hdc );
|
ReleaseDC32( 0, hdc );
|
||||||
xUnit = tm.tmAveCharWidth;
|
xUnit = tm.tmAveCharWidth;
|
||||||
yUnit = tm.tmHeight;
|
yUnit = tm.tmHeight;
|
||||||
|
@ -551,7 +551,7 @@ static HWND DIALOG_CreateIndirect( HINSTANCE32 hInst, LPCSTR dlgTemplate,
|
||||||
owner, hMenu, hInst, NULL );
|
owner, hMenu, hInst, NULL );
|
||||||
if (!hwnd)
|
if (!hwnd)
|
||||||
{
|
{
|
||||||
if (hFont) DeleteObject( hFont );
|
if (hFont) DeleteObject32( hFont );
|
||||||
if (hMenu) DestroyMenu( hMenu );
|
if (hMenu) DestroyMenu( hMenu );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -771,7 +771,7 @@ static void EVENT_ConfigureNotify( HWND hwnd, XConfigureEvent *event )
|
||||||
|
|
||||||
hrgnOldPos = CreateRectRgnIndirect16( &wndPtr->rectWindow );
|
hrgnOldPos = CreateRectRgnIndirect16( &wndPtr->rectWindow );
|
||||||
hrgnNewPos = CreateRectRgnIndirect16( &newWindowRect );
|
hrgnNewPos = CreateRectRgnIndirect16( &newWindowRect );
|
||||||
CombineRgn( hrgnOldPos, hrgnOldPos, hrgnNewPos, RGN_DIFF );
|
CombineRgn32( hrgnOldPos, hrgnOldPos, hrgnNewPos, RGN_DIFF );
|
||||||
|
|
||||||
/* Set new size and position */
|
/* Set new size and position */
|
||||||
wndPtr->rectWindow = newWindowRect;
|
wndPtr->rectWindow = newWindowRect;
|
||||||
|
@ -783,8 +783,8 @@ static void EVENT_ConfigureNotify( HWND hwnd, XConfigureEvent *event )
|
||||||
PAINT_RedrawWindow( 0, NULL, hrgnOldPos, RDW_INVALIDATE |
|
PAINT_RedrawWindow( 0, NULL, hrgnOldPos, RDW_INVALIDATE |
|
||||||
RDW_ALLCHILDREN | RDW_ERASE | RDW_ERASENOW,
|
RDW_ALLCHILDREN | RDW_ERASE | RDW_ERASENOW,
|
||||||
RDW_C_USEHRGN );
|
RDW_C_USEHRGN );
|
||||||
DeleteObject(hrgnOldPos);
|
DeleteObject32(hrgnOldPos);
|
||||||
DeleteObject(hrgnNewPos);
|
DeleteObject32(hrgnNewPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Copyright 1993, 1994 Alexandre Julliard
|
* Copyright 1993, 1994 Alexandre Julliard
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NO_TRANSITION_TYPES /* This file is Win32-clean */
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
@ -26,9 +27,18 @@
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* LineTo (GDI.19)
|
* LineTo16 (GDI.19)
|
||||||
*/
|
*/
|
||||||
BOOL LineTo( HDC16 hdc, short x, short y )
|
BOOL16 LineTo16( HDC16 hdc, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return LineTo32( hdc, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* LineTo32 (GDI32.249)
|
||||||
|
*/
|
||||||
|
BOOL32 LineTo32( HDC32 hdc, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
|
@ -54,9 +64,9 @@ BOOL LineTo( HDC16 hdc, short x, short y )
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* MoveTo (GDI.20)
|
* MoveTo (GDI.20)
|
||||||
*/
|
*/
|
||||||
DWORD MoveTo( HDC16 hdc, short x, short y )
|
DWORD MoveTo( HDC16 hdc, INT16 x, INT16 y )
|
||||||
{
|
{
|
||||||
short oldx, oldy;
|
DWORD ret;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
{
|
{
|
||||||
|
@ -65,12 +75,10 @@ DWORD MoveTo( HDC16 hdc, short x, short y )
|
||||||
MF_MetaParam2(dc, META_MOVETO, x, y);
|
MF_MetaParam2(dc, META_MOVETO, x, y);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
ret = MAKELONG( dc->w.CursPosX, dc->w.CursPosY );
|
||||||
oldx = dc->w.CursPosX;
|
|
||||||
oldy = dc->w.CursPosY;
|
|
||||||
dc->w.CursPosX = x;
|
dc->w.CursPosX = x;
|
||||||
dc->w.CursPosY = y;
|
dc->w.CursPosY = y;
|
||||||
return oldx | (oldy << 16);
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,10 +118,11 @@ BOOL32 MoveToEx32( HDC32 hdc, INT32 x, INT32 y, LPPOINT32 pt )
|
||||||
* Helper functions for Arc(), Chord() and Pie().
|
* Helper functions for Arc(), Chord() and Pie().
|
||||||
* 'lines' is the number of lines to draw: 0 for Arc, 1 for Chord, 2 for Pie.
|
* 'lines' is the number of lines to draw: 0 for Arc, 1 for Chord, 2 for Pie.
|
||||||
*/
|
*/
|
||||||
static BOOL GRAPH_DrawArc( HDC16 hdc, int left, int top, int right, int bottom,
|
static BOOL32 GRAPH_DrawArc( HDC32 hdc, INT32 left, INT32 top, INT32 right,
|
||||||
int xstart, int ystart, int xend, int yend, int lines )
|
INT32 bottom, INT32 xstart, INT32 ystart,
|
||||||
|
INT32 xend, INT32 yend, INT32 lines )
|
||||||
{
|
{
|
||||||
int xcenter, ycenter, istart_angle, idiff_angle, tmp;
|
INT32 xcenter, ycenter, istart_angle, idiff_angle, tmp;
|
||||||
double start_angle, end_angle;
|
double start_angle, end_angle;
|
||||||
XPoint points[3];
|
XPoint points[3];
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
|
@ -157,8 +166,8 @@ static BOOL GRAPH_DrawArc( HDC16 hdc, int left, int top, int right, int bottom,
|
||||||
(double)(xstart-xcenter)*(bottom-top) );
|
(double)(xstart-xcenter)*(bottom-top) );
|
||||||
end_angle = atan2( (double)(ycenter-yend)*(right-left),
|
end_angle = atan2( (double)(ycenter-yend)*(right-left),
|
||||||
(double)(xend-xcenter)*(bottom-top) );
|
(double)(xend-xcenter)*(bottom-top) );
|
||||||
istart_angle = (int)(start_angle * 180 * 64 / PI);
|
istart_angle = (INT32)(start_angle * 180 * 64 / PI);
|
||||||
idiff_angle = (int)((end_angle - start_angle) * 180 * 64 / PI );
|
idiff_angle = (INT32)((end_angle - start_angle) * 180 * 64 / PI );
|
||||||
if (idiff_angle <= 0) idiff_angle += 360 * 64;
|
if (idiff_angle <= 0) idiff_angle += 360 * 64;
|
||||||
if (left > right) { tmp=left; left=right; right=tmp; }
|
if (left > right) { tmp=left; left=right; right=tmp; }
|
||||||
if (top > bottom) { tmp=top; top=bottom; bottom=tmp; }
|
if (top > bottom) { tmp=top; top=bottom; bottom=tmp; }
|
||||||
|
@ -198,10 +207,10 @@ static BOOL GRAPH_DrawArc( HDC16 hdc, int left, int top, int right, int bottom,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Arc (GDI.23)
|
* Arc16 (GDI.23)
|
||||||
*/
|
*/
|
||||||
BOOL Arc( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
BOOL16 Arc16( HDC16 hdc, INT16 left, INT16 top, INT16 right, INT16 bottom,
|
||||||
INT xstart, INT ystart, INT xend, INT yend )
|
INT16 xstart, INT16 ystart, INT16 xend, INT16 yend )
|
||||||
{
|
{
|
||||||
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
xstart, ystart, xend, yend, 0 );
|
xstart, ystart, xend, yend, 0 );
|
||||||
|
@ -209,10 +218,21 @@ BOOL Arc( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Pie (GDI.26)
|
* Arc32 (GDI32.7)
|
||||||
*/
|
*/
|
||||||
BOOL Pie( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
BOOL32 Arc32( HDC32 hdc, INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
INT xstart, INT ystart, INT xend, INT yend )
|
INT32 xstart, INT32 ystart, INT32 xend, INT32 yend )
|
||||||
|
{
|
||||||
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
|
xstart, ystart, xend, yend, 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Pie16 (GDI.26)
|
||||||
|
*/
|
||||||
|
BOOL16 Pie16( HDC16 hdc, INT16 left, INT16 top, INT16 right, INT16 bottom,
|
||||||
|
INT16 xstart, INT16 ystart, INT16 xend, INT16 yend )
|
||||||
{
|
{
|
||||||
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
xstart, ystart, xend, yend, 2 );
|
xstart, ystart, xend, yend, 2 );
|
||||||
|
@ -220,10 +240,21 @@ BOOL Pie( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Chord (GDI.348)
|
* Pie32 (GDI32.262)
|
||||||
*/
|
*/
|
||||||
BOOL Chord( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
BOOL32 Pie32( HDC32 hdc, INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
INT xstart, INT ystart, INT xend, INT yend )
|
INT32 xstart, INT32 ystart, INT32 xend, INT32 yend )
|
||||||
|
{
|
||||||
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
|
xstart, ystart, xend, yend, 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Chord16 (GDI.348)
|
||||||
|
*/
|
||||||
|
BOOL16 Chord16( HDC16 hdc, INT16 left, INT16 top, INT16 right, INT16 bottom,
|
||||||
|
INT16 xstart, INT16 ystart, INT16 xend, INT16 yend )
|
||||||
{
|
{
|
||||||
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
xstart, ystart, xend, yend, 1 );
|
xstart, ystart, xend, yend, 1 );
|
||||||
|
@ -231,9 +262,29 @@ BOOL Chord( HDC16 hdc, INT left, INT top, INT right, INT bottom,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Ellipse (GDI.24)
|
* Chord32 (GDI32.14)
|
||||||
*/
|
*/
|
||||||
BOOL Ellipse( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
BOOL32 Chord32( HDC32 hdc, INT32 left, INT32 top, INT32 right, INT32 bottom,
|
||||||
|
INT32 xstart, INT32 ystart, INT32 xend, INT32 yend )
|
||||||
|
{
|
||||||
|
return GRAPH_DrawArc( hdc, left, top, right, bottom,
|
||||||
|
xstart, ystart, xend, yend, 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Ellipse16 (GDI.24)
|
||||||
|
*/
|
||||||
|
BOOL16 Ellipse16( HDC16 hdc, INT16 left, INT16 top, INT16 right, INT16 bottom )
|
||||||
|
{
|
||||||
|
return Ellipse32( hdc, left, top, right, bottom );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Ellipse32 (GDI32.75)
|
||||||
|
*/
|
||||||
|
BOOL32 Ellipse32( HDC32 hdc, INT32 left, INT32 top, INT32 right, INT32 bottom )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc)
|
if (!dc)
|
||||||
|
@ -250,8 +301,8 @@ BOOL Ellipse( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
||||||
bottom = YLPTODP( dc, bottom );
|
bottom = YLPTODP( dc, bottom );
|
||||||
if ((left == right) || (top == bottom)) return FALSE;
|
if ((left == right) || (top == bottom)) return FALSE;
|
||||||
|
|
||||||
if (right < left) { INT tmp = right; right = left; left = tmp; }
|
if (right < left) { INT32 tmp = right; right = left; left = tmp; }
|
||||||
if (bottom < top) { INT tmp = bottom; bottom = top; top = tmp; }
|
if (bottom < top) { INT32 tmp = bottom; bottom = top; top = tmp; }
|
||||||
|
|
||||||
if ((dc->u.x.pen.style == PS_INSIDEFRAME) &&
|
if ((dc->u.x.pen.style == PS_INSIDEFRAME) &&
|
||||||
(dc->u.x.pen.width < right-left-1) &&
|
(dc->u.x.pen.width < right-left-1) &&
|
||||||
|
@ -276,9 +327,18 @@ BOOL Ellipse( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Rectangle (GDI.27)
|
* Rectangle16 (GDI.27)
|
||||||
*/
|
*/
|
||||||
BOOL Rectangle( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
BOOL16 Rectangle16(HDC16 hdc, INT16 left, INT16 top, INT16 right, INT16 bottom)
|
||||||
|
{
|
||||||
|
return Rectangle32( hdc, left, top, right, bottom );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Rectangle32 (GDI32.283)
|
||||||
|
*/
|
||||||
|
BOOL32 Rectangle32(HDC32 hdc, INT32 left, INT32 top, INT32 right, INT32 bottom)
|
||||||
{
|
{
|
||||||
INT32 width;
|
INT32 width;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
|
@ -294,8 +354,8 @@ BOOL Rectangle( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
||||||
right = XLPTODP( dc, right );
|
right = XLPTODP( dc, right );
|
||||||
bottom = YLPTODP( dc, bottom );
|
bottom = YLPTODP( dc, bottom );
|
||||||
|
|
||||||
if (right < left) { INT tmp = right; right = left; left = tmp; }
|
if (right < left) { INT32 tmp = right; right = left; left = tmp; }
|
||||||
if (bottom < top) { INT tmp = bottom; bottom = top; top = tmp; }
|
if (bottom < top) { INT32 tmp = bottom; bottom = top; top = tmp; }
|
||||||
|
|
||||||
if ((left == right) || (top == bottom))
|
if ((left == right) || (top == bottom))
|
||||||
{
|
{
|
||||||
|
@ -334,15 +394,25 @@ BOOL Rectangle( HDC16 hdc, INT left, INT top, INT right, INT bottom )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* RoundRect (GDI.28)
|
* RoundRect16 (GDI.28)
|
||||||
*/
|
*/
|
||||||
BOOL RoundRect( HDC16 hDC, INT left, INT top, INT right, INT bottom,
|
BOOL16 RoundRect16( HDC16 hdc, INT16 left, INT16 top, INT16 right,
|
||||||
INT ell_width, INT ell_height )
|
INT16 bottom, INT16 ell_width, INT16 ell_height )
|
||||||
{
|
{
|
||||||
DC * dc = (DC *) GDI_GetObjPtr(hDC, DC_MAGIC);
|
return RoundRect32( hdc, left, top, right, bottom, ell_width, ell_height );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* RoundRect32 (GDI32.291)
|
||||||
|
*/
|
||||||
|
BOOL32 RoundRect32( HDC32 hdc, INT32 left, INT32 top, INT32 right,
|
||||||
|
INT32 bottom, INT32 ell_width, INT32 ell_height )
|
||||||
|
{
|
||||||
|
DC * dc = (DC *) GDI_GetObjPtr(hdc, DC_MAGIC);
|
||||||
if (!dc)
|
if (!dc)
|
||||||
{
|
{
|
||||||
dc = (DC *)GDI_GetObjPtr(hDC, METAFILE_DC_MAGIC);
|
dc = (DC *)GDI_GetObjPtr(hdc, METAFILE_DC_MAGIC);
|
||||||
if (!dc) return FALSE;
|
if (!dc) return FALSE;
|
||||||
MF_MetaParam6(dc, META_ROUNDRECT, left, top, right, bottom,
|
MF_MetaParam6(dc, META_ROUNDRECT, left, top, right, bottom,
|
||||||
ell_width, ell_height);
|
ell_width, ell_height);
|
||||||
|
@ -360,8 +430,8 @@ BOOL RoundRect( HDC16 hDC, INT left, INT top, INT right, INT bottom,
|
||||||
|
|
||||||
/* Fix the coordinates */
|
/* Fix the coordinates */
|
||||||
|
|
||||||
if (right < left) { INT tmp = right; right = left; left = tmp; }
|
if (right < left) { INT32 tmp = right; right = left; left = tmp; }
|
||||||
if (bottom < top) { INT tmp = bottom; bottom = top; top = tmp; }
|
if (bottom < top) { INT32 tmp = bottom; bottom = top; top = tmp; }
|
||||||
if (ell_width > right - left) ell_width = right - left;
|
if (ell_width > right - left) ell_width = right - left;
|
||||||
if (ell_height > bottom - top) ell_height = bottom - top;
|
if (ell_height > bottom - top) ell_height = bottom - top;
|
||||||
|
|
||||||
|
@ -462,10 +532,10 @@ INT16 FillRect16( HDC16 hdc, const RECT16 *rect, HBRUSH16 hbrush )
|
||||||
* - do it in PatBlt() after LPtoDP().
|
* - do it in PatBlt() after LPtoDP().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!(prevBrush = SelectObject( hdc, hbrush ))) return 0;
|
if (!(prevBrush = SelectObject16( hdc, hbrush ))) return 0;
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
PatBlt( hdc, rect->left, rect->top,
|
||||||
rect->right - rect->left, rect->bottom - rect->top, PATCOPY );
|
rect->right - rect->left, rect->bottom - rect->top, PATCOPY );
|
||||||
SelectObject( hdc, prevBrush );
|
SelectObject16( hdc, prevBrush );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -475,12 +545,12 @@ INT16 FillRect16( HDC16 hdc, const RECT16 *rect, HBRUSH16 hbrush )
|
||||||
*/
|
*/
|
||||||
INT32 FillRect32( HDC32 hdc, const RECT32 *rect, HBRUSH32 hbrush )
|
INT32 FillRect32( HDC32 hdc, const RECT32 *rect, HBRUSH32 hbrush )
|
||||||
{
|
{
|
||||||
HBRUSH16 prevBrush;
|
HBRUSH32 prevBrush;
|
||||||
|
|
||||||
if (!(prevBrush = SelectObject( hdc, (HBRUSH16)hbrush ))) return 0;
|
if (!(prevBrush = SelectObject32( hdc, hbrush ))) return 0;
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
PatBlt( hdc, rect->left, rect->top,
|
||||||
rect->right - rect->left, rect->bottom - rect->top, PATCOPY );
|
rect->right - rect->left, rect->bottom - rect->top, PATCOPY );
|
||||||
SelectObject( hdc, prevBrush );
|
SelectObject32( hdc, prevBrush );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -522,7 +592,7 @@ INT16 FrameRect16( HDC16 hdc, const RECT16 *rect, HBRUSH16 hbrush )
|
||||||
bottom = YLPTODP( dc, rect->bottom );
|
bottom = YLPTODP( dc, rect->bottom );
|
||||||
|
|
||||||
if ( (right <= left) || (bottom <= top) ) return 0;
|
if ( (right <= left) || (bottom <= top) ) return 0;
|
||||||
if (!(prevBrush = SelectObject( hdc, hbrush ))) return 0;
|
if (!(prevBrush = SelectObject16( hdc, hbrush ))) return 0;
|
||||||
|
|
||||||
if (DC_SetupGCForBrush( dc ))
|
if (DC_SetupGCForBrush( dc ))
|
||||||
{
|
{
|
||||||
|
@ -535,7 +605,7 @@ INT16 FrameRect16( HDC16 hdc, const RECT16 *rect, HBRUSH16 hbrush )
|
||||||
PatBlt( hdc, rect->left, rect->bottom - 1,
|
PatBlt( hdc, rect->left, rect->bottom - 1,
|
||||||
rect->right - rect->left, 1, PATCOPY );
|
rect->right - rect->left, 1, PATCOPY );
|
||||||
}
|
}
|
||||||
SelectObject( hdc, prevBrush );
|
SelectObject16( hdc, prevBrush );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -552,9 +622,18 @@ INT32 FrameRect32( HDC32 hdc, const RECT32 *rect, HBRUSH32 hbrush )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SetPixel (GDI.31)
|
* SetPixel16 (GDI.31)
|
||||||
*/
|
*/
|
||||||
COLORREF SetPixel( HDC16 hdc, short x, short y, COLORREF color )
|
COLORREF SetPixel16( HDC16 hdc, INT16 x, INT16 y, COLORREF color )
|
||||||
|
{
|
||||||
|
return SetPixel32( hdc, x, y, color );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SetPixel32 (GDI32.327)
|
||||||
|
*/
|
||||||
|
COLORREF SetPixel32( HDC32 hdc, INT32 x, INT32 y, COLORREF color )
|
||||||
{
|
{
|
||||||
Pixel pixel;
|
Pixel pixel;
|
||||||
|
|
||||||
|
@ -582,9 +661,18 @@ COLORREF SetPixel( HDC16 hdc, short x, short y, COLORREF color )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetPixel (GDI.83)
|
* GetPixel16 (GDI.83)
|
||||||
*/
|
*/
|
||||||
COLORREF GetPixel( HDC16 hdc, short x, short y )
|
COLORREF GetPixel16( HDC16 hdc, INT16 x, INT16 y )
|
||||||
|
{
|
||||||
|
return GetPixel32( hdc, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* GetPixel32 (GDI32.211)
|
||||||
|
*/
|
||||||
|
COLORREF GetPixel32( HDC32 hdc, INT32 x, INT32 y )
|
||||||
{
|
{
|
||||||
static Pixmap pixmap = 0;
|
static Pixmap pixmap = 0;
|
||||||
XImage * image;
|
XImage * image;
|
||||||
|
@ -597,7 +685,7 @@ COLORREF GetPixel( HDC16 hdc, short x, short y )
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!PtVisible( hdc, x, y )) return 0;
|
if (!PtVisible32( hdc, x, y )) return 0;
|
||||||
|
|
||||||
x = dc->w.DCOrgX + XLPTODP( dc, x );
|
x = dc->w.DCOrgX + XLPTODP( dc, x );
|
||||||
y = dc->w.DCOrgY + YLPTODP( dc, y );
|
y = dc->w.DCOrgY + YLPTODP( dc, y );
|
||||||
|
@ -624,11 +712,20 @@ COLORREF GetPixel( HDC16 hdc, short x, short y )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* PaintRgn (GDI.43)
|
* PaintRgn16 (GDI.43)
|
||||||
*/
|
*/
|
||||||
BOOL PaintRgn( HDC16 hdc, HRGN32 hrgn )
|
BOOL16 PaintRgn16( HDC16 hdc, HRGN16 hrgn )
|
||||||
{
|
{
|
||||||
RECT16 box;
|
return PaintRgn32( hdc, hrgn );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* PaintRgn32 (GDI32.259)
|
||||||
|
*/
|
||||||
|
BOOL32 PaintRgn32( HDC32 hdc, HRGN32 hrgn )
|
||||||
|
{
|
||||||
|
RECT32 box;
|
||||||
HRGN32 tmpVisRgn, prevVisRgn;
|
HRGN32 tmpVisRgn, prevVisRgn;
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return FALSE;
|
if (!dc) return FALSE;
|
||||||
|
@ -636,18 +733,18 @@ BOOL PaintRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
/* Modify visible region */
|
/* Modify visible region */
|
||||||
|
|
||||||
if (!(prevVisRgn = SaveVisRgn( hdc ))) return FALSE;
|
if (!(prevVisRgn = SaveVisRgn( hdc ))) return FALSE;
|
||||||
if (!(tmpVisRgn = CreateRectRgn( 0, 0, 0, 0 )))
|
if (!(tmpVisRgn = CreateRectRgn32( 0, 0, 0, 0 )))
|
||||||
{
|
{
|
||||||
RestoreVisRgn( hdc );
|
RestoreVisRgn( hdc );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
CombineRgn( tmpVisRgn, prevVisRgn, hrgn, RGN_AND );
|
CombineRgn32( tmpVisRgn, prevVisRgn, hrgn, RGN_AND );
|
||||||
SelectVisRgn( hdc, tmpVisRgn );
|
SelectVisRgn( hdc, tmpVisRgn );
|
||||||
DeleteObject( tmpVisRgn );
|
DeleteObject32( tmpVisRgn );
|
||||||
|
|
||||||
/* Fill the region */
|
/* Fill the region */
|
||||||
|
|
||||||
GetRgnBox16( dc->w.hGCClipRgn, &box );
|
GetRgnBox32( dc->w.hGCClipRgn, &box );
|
||||||
if (DC_SetupGCForBrush( dc ))
|
if (DC_SetupGCForBrush( dc ))
|
||||||
XFillRectangle( display, dc->u.x.drawable, dc->u.x.gc,
|
XFillRectangle( display, dc->u.x.drawable, dc->u.x.gc,
|
||||||
dc->w.DCOrgX + box.left, dc->w.DCOrgY + box.top,
|
dc->w.DCOrgX + box.left, dc->w.DCOrgY + box.top,
|
||||||
|
@ -661,39 +758,70 @@ BOOL PaintRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* FillRgn (GDI.40)
|
* FillRgn16 (GDI.40)
|
||||||
*/
|
*/
|
||||||
BOOL FillRgn( HDC16 hdc, HRGN32 hrgn, HBRUSH16 hbrush )
|
BOOL16 FillRgn16( HDC16 hdc, HRGN16 hrgn, HBRUSH16 hbrush )
|
||||||
{
|
{
|
||||||
BOOL retval;
|
return FillRgn32( hdc, hrgn, hbrush );
|
||||||
HBRUSH16 prevBrush = SelectObject( hdc, hbrush );
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* FillRgn32 (GDI32.101)
|
||||||
|
*/
|
||||||
|
BOOL32 FillRgn32( HDC32 hdc, HRGN32 hrgn, HBRUSH32 hbrush )
|
||||||
|
{
|
||||||
|
BOOL32 retval;
|
||||||
|
HBRUSH32 prevBrush = SelectObject32( hdc, hbrush );
|
||||||
if (!prevBrush) return FALSE;
|
if (!prevBrush) return FALSE;
|
||||||
retval = PaintRgn( hdc, hrgn );
|
retval = PaintRgn32( hdc, hrgn );
|
||||||
SelectObject( hdc, prevBrush );
|
SelectObject32( hdc, prevBrush );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* FrameRgn (GDI.41)
|
|
||||||
*/
|
|
||||||
BOOL FrameRgn( HDC16 hdc, HRGN32 hrgn, HBRUSH16 hbrush, int nWidth, int nHeight )
|
|
||||||
{
|
|
||||||
HRGN32 tmp = CreateRectRgn( 0, 0, 0, 0 );
|
|
||||||
if(!REGION_FrameRgn( tmp, hrgn, nWidth, nHeight )) return 0;
|
|
||||||
FillRgn( hdc, tmp, hbrush );
|
|
||||||
DeleteObject( tmp );
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* InvertRgn (GDI.42)
|
* FrameRgn16 (GDI.41)
|
||||||
*/
|
*/
|
||||||
BOOL InvertRgn( HDC16 hdc, HRGN32 hrgn )
|
BOOL16 FrameRgn16( HDC16 hdc, HRGN16 hrgn, HBRUSH16 hbrush,
|
||||||
|
INT16 nWidth, INT16 nHeight )
|
||||||
{
|
{
|
||||||
HBRUSH16 prevBrush = SelectObject( hdc, GetStockObject(BLACK_BRUSH) );
|
return FrameRgn32( hdc, hrgn, hbrush, nWidth, nHeight );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* FrameRgn32 (GDI32.105)
|
||||||
|
*/
|
||||||
|
BOOL32 FrameRgn32( HDC32 hdc, HRGN32 hrgn, HBRUSH32 hbrush,
|
||||||
|
INT32 nWidth, INT32 nHeight )
|
||||||
|
{
|
||||||
|
HRGN32 tmp = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
|
if(!REGION_FrameRgn( tmp, hrgn, nWidth, nHeight )) return FALSE;
|
||||||
|
FillRgn32( hdc, tmp, hbrush );
|
||||||
|
DeleteObject32( tmp );
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* InvertRgn16 (GDI.42)
|
||||||
|
*/
|
||||||
|
BOOL16 InvertRgn16( HDC16 hdc, HRGN16 hrgn )
|
||||||
|
{
|
||||||
|
return InvertRgn32( hdc, hrgn );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* InvertRgn32 (GDI32.246)
|
||||||
|
*/
|
||||||
|
BOOL32 InvertRgn32( HDC32 hdc, HRGN32 hrgn )
|
||||||
|
{
|
||||||
|
HBRUSH32 prevBrush = SelectObject32( hdc, GetStockObject32(BLACK_BRUSH) );
|
||||||
WORD prevROP = SetROP2( hdc, R2_NOT );
|
WORD prevROP = SetROP2( hdc, R2_NOT );
|
||||||
BOOL retval = PaintRgn( hdc, hrgn );
|
BOOL32 retval = PaintRgn32( hdc, hrgn );
|
||||||
SelectObject( hdc, prevBrush );
|
SelectObject32( hdc, prevBrush );
|
||||||
SetROP2( hdc, prevROP );
|
SetROP2( hdc, prevROP );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -704,9 +832,21 @@ BOOL InvertRgn( HDC16 hdc, HRGN32 hrgn )
|
||||||
*/
|
*/
|
||||||
void DrawFocusRect16( HDC16 hdc, const RECT16* rc )
|
void DrawFocusRect16( HDC16 hdc, const RECT16* rc )
|
||||||
{
|
{
|
||||||
HPEN16 hOldPen;
|
RECT32 rect32;
|
||||||
int oldDrawMode, oldBkMode;
|
CONV_RECT16TO32( rc, &rect32 );
|
||||||
int left, top, right, bottom;
|
return DrawFocusRect32( hdc, &rect32 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* DrawFocusRect32 (USER32.155)
|
||||||
|
*/
|
||||||
|
void DrawFocusRect32( HDC32 hdc, const RECT32* rc )
|
||||||
|
{
|
||||||
|
HPEN32 hOldPen;
|
||||||
|
INT32 oldDrawMode, oldBkMode;
|
||||||
|
INT32 left, top, right, bottom;
|
||||||
|
|
||||||
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
||||||
if (!dc) return;
|
if (!dc) return;
|
||||||
|
|
||||||
|
@ -715,7 +855,7 @@ void DrawFocusRect16( HDC16 hdc, const RECT16* rc )
|
||||||
right = XLPTODP( dc, rc->right );
|
right = XLPTODP( dc, rc->right );
|
||||||
bottom = YLPTODP( dc, rc->bottom );
|
bottom = YLPTODP( dc, rc->bottom );
|
||||||
|
|
||||||
hOldPen = (HPEN16)SelectObject(hdc, sysColorObjects.hpenWindowText );
|
hOldPen = SelectObject32( hdc, sysColorObjects.hpenWindowText );
|
||||||
oldDrawMode = SetROP2(hdc, R2_XORPEN);
|
oldDrawMode = SetROP2(hdc, R2_XORPEN);
|
||||||
oldBkMode = SetBkMode(hdc, TRANSPARENT);
|
oldBkMode = SetBkMode(hdc, TRANSPARENT);
|
||||||
|
|
||||||
|
@ -729,18 +869,7 @@ void DrawFocusRect16( HDC16 hdc, const RECT16* rc )
|
||||||
|
|
||||||
SetBkMode(hdc, oldBkMode);
|
SetBkMode(hdc, oldBkMode);
|
||||||
SetROP2(hdc, oldDrawMode);
|
SetROP2(hdc, oldDrawMode);
|
||||||
SelectObject(hdc, hOldPen);
|
SelectObject32(hdc, hOldPen);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* DrawFocusRect32 (USER32.155)
|
|
||||||
*/
|
|
||||||
void DrawFocusRect32( HDC32 hdc, const RECT32* rect )
|
|
||||||
{
|
|
||||||
RECT16 rect16;
|
|
||||||
CONV_RECT32TO16( rect, &rect16 );
|
|
||||||
return DrawFocusRect16( (HDC16)hdc, &rect16 );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -786,10 +915,10 @@ BOOL32 GRAPH_DrawBitmap( HDC32 hdc, HBITMAP32 hbitmap, int xdest, int ydest,
|
||||||
void GRAPH_DrawReliefRect( HDC32 hdc, const RECT32 *rect, INT32 highlight_size,
|
void GRAPH_DrawReliefRect( HDC32 hdc, const RECT32 *rect, INT32 highlight_size,
|
||||||
INT32 shadow_size, BOOL32 pressed )
|
INT32 shadow_size, BOOL32 pressed )
|
||||||
{
|
{
|
||||||
HBRUSH16 hbrushOld;
|
HBRUSH32 hbrushOld;
|
||||||
int i;
|
INT32 i;
|
||||||
|
|
||||||
hbrushOld = SelectObject( hdc, pressed ? sysColorObjects.hbrushBtnShadow :
|
hbrushOld = SelectObject32(hdc, pressed ? sysColorObjects.hbrushBtnShadow :
|
||||||
sysColorObjects.hbrushBtnHighlight );
|
sysColorObjects.hbrushBtnHighlight );
|
||||||
for (i = 0; i < highlight_size; i++)
|
for (i = 0; i < highlight_size; i++)
|
||||||
{
|
{
|
||||||
|
@ -799,7 +928,7 @@ void GRAPH_DrawReliefRect( HDC32 hdc, const RECT32 *rect, INT32 highlight_size,
|
||||||
rect->right - rect->left - i, 1, PATCOPY );
|
rect->right - rect->left - i, 1, PATCOPY );
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectObject( hdc, pressed ? sysColorObjects.hbrushBtnHighlight :
|
SelectObject32( hdc, pressed ? sysColorObjects.hbrushBtnHighlight :
|
||||||
sysColorObjects.hbrushBtnShadow );
|
sysColorObjects.hbrushBtnShadow );
|
||||||
for (i = 0; i < shadow_size; i++)
|
for (i = 0; i < shadow_size; i++)
|
||||||
{
|
{
|
||||||
|
@ -809,7 +938,7 @@ void GRAPH_DrawReliefRect( HDC32 hdc, const RECT32 *rect, INT32 highlight_size,
|
||||||
rect->right - rect->left - i, 1, PATCOPY );
|
rect->right - rect->left - i, 1, PATCOPY );
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectObject( hdc, hbrushOld );
|
SelectObject32( hdc, hbrushOld );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -896,8 +1025,8 @@ BOOL16 PolyPolygon16( HDC16 hdc, LPPOINT16 pt, LPINT16 counts, UINT16 polygons)
|
||||||
/* really correct either, it doesn't matter much... */
|
/* really correct either, it doesn't matter much... */
|
||||||
/* At least the outline will be correct :-) */
|
/* At least the outline will be correct :-) */
|
||||||
hrgn = CreatePolyPolygonRgn16( pt, counts, polygons, dc->w.polyFillMode );
|
hrgn = CreatePolyPolygonRgn16( pt, counts, polygons, dc->w.polyFillMode );
|
||||||
PaintRgn( hdc, hrgn );
|
PaintRgn32( hdc, hrgn );
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
|
|
||||||
/* Draw the outline of the polygons */
|
/* Draw the outline of the polygons */
|
||||||
|
|
||||||
|
@ -1001,7 +1130,7 @@ static void GRAPH_InternalFloodFill( XImage *image, DC *dc,
|
||||||
*
|
*
|
||||||
* Main flood-fill routine.
|
* Main flood-fill routine.
|
||||||
*/
|
*/
|
||||||
static BOOL16 GRAPH_DoFloodFill( DC *dc, RECT16 *rect, INT32 x, INT32 y,
|
static BOOL32 GRAPH_DoFloodFill( DC *dc, RECT32 *rect, INT32 x, INT32 y,
|
||||||
COLORREF color, UINT32 fillType )
|
COLORREF color, UINT32 fillType )
|
||||||
{
|
{
|
||||||
XImage *image;
|
XImage *image;
|
||||||
|
@ -1031,12 +1160,22 @@ static BOOL16 GRAPH_DoFloodFill( DC *dc, RECT16 *rect, INT32 x, INT32 y,
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* ExtFloodFill (GDI.372) (GDI32.96)
|
* ExtFloodFill16 (GDI.372)
|
||||||
*/
|
*/
|
||||||
BOOL16 ExtFloodFill( HDC32 hdc, INT32 x, INT32 y, COLORREF color,
|
BOOL16 ExtFloodFill16( HDC16 hdc, INT16 x, INT16 y, COLORREF color,
|
||||||
|
UINT16 fillType )
|
||||||
|
{
|
||||||
|
return ExtFloodFill32( hdc, x, y, color, fillType );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* ExtFloodFill32 (GDI32.96)
|
||||||
|
*/
|
||||||
|
BOOL32 ExtFloodFill32( HDC32 hdc, INT32 x, INT32 y, COLORREF color,
|
||||||
UINT32 fillType )
|
UINT32 fillType )
|
||||||
{
|
{
|
||||||
RECT16 rect;
|
RECT32 rect;
|
||||||
DC *dc;
|
DC *dc;
|
||||||
|
|
||||||
dprintf_graphics( stddeb, "ExtFloodFill %04x %d,%d %06lx %d\n",
|
dprintf_graphics( stddeb, "ExtFloodFill %04x %d,%d %06lx %d\n",
|
||||||
|
@ -1051,8 +1190,8 @@ BOOL16 ExtFloodFill( HDC32 hdc, INT32 x, INT32 y, COLORREF color,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!PtVisible( hdc, x, y )) return FALSE;
|
if (!PtVisible32( hdc, x, y )) return FALSE;
|
||||||
if (GetRgnBox16( dc->w.hGCClipRgn, &rect ) == ERROR) return FALSE;
|
if (GetRgnBox32( dc->w.hGCClipRgn, &rect ) == ERROR) return FALSE;
|
||||||
|
|
||||||
return CallTo32_LargeStack( (int(*)())GRAPH_DoFloodFill, 6,
|
return CallTo32_LargeStack( (int(*)())GRAPH_DoFloodFill, 6,
|
||||||
dc, &rect, x, y, color, fillType );
|
dc, &rect, x, y, color, fillType );
|
||||||
|
@ -1060,11 +1199,20 @@ BOOL16 ExtFloodFill( HDC32 hdc, INT32 x, INT32 y, COLORREF color,
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* FloodFill (GDI.25) (GDI32.104)
|
* FloodFill16 (GDI.25)
|
||||||
*/
|
*/
|
||||||
BOOL16 FloodFill( HDC32 hdc, INT32 x, INT32 y, COLORREF color )
|
BOOL16 FloodFill16( HDC16 hdc, INT16 x, INT16 y, COLORREF color )
|
||||||
{
|
{
|
||||||
return ExtFloodFill( hdc, x, y, color, FLOODFILLBORDER );
|
return ExtFloodFill32( hdc, x, y, color, FLOODFILLBORDER );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* FloodFill32 (GDI32.104)
|
||||||
|
*/
|
||||||
|
BOOL32 FloodFill32( HDC32 hdc, INT32 x, INT32 y, COLORREF color )
|
||||||
|
{
|
||||||
|
return ExtFloodFill32( hdc, x, y, color, FLOODFILLBORDER );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1088,7 +1236,7 @@ BOOL16 DrawEdge16( HDC16 hdc, LPRECT16 rc, UINT16 edge, UINT16 flags )
|
||||||
*/
|
*/
|
||||||
BOOL32 DrawEdge32( HDC32 hdc, LPRECT32 rc, UINT32 edge, UINT32 flags )
|
BOOL32 DrawEdge32( HDC32 hdc, LPRECT32 rc, UINT32 edge, UINT32 flags )
|
||||||
{
|
{
|
||||||
HBRUSH16 hbrushOld;
|
HBRUSH32 hbrushOld;
|
||||||
|
|
||||||
if (flags >= BF_DIAGONAL)
|
if (flags >= BF_DIAGONAL)
|
||||||
fprintf( stderr, "DrawEdge: unsupported flags %04x\n", flags );
|
fprintf( stderr, "DrawEdge: unsupported flags %04x\n", flags );
|
||||||
|
@ -1099,7 +1247,7 @@ BOOL32 DrawEdge32( HDC32 hdc, LPRECT32 rc, UINT32 edge, UINT32 flags )
|
||||||
|
|
||||||
/* First do all the raised edges */
|
/* First do all the raised edges */
|
||||||
|
|
||||||
SelectObject( hdc, sysColorObjects.hbrushBtnHighlight );
|
hbrushOld = SelectObject32( hdc, sysColorObjects.hbrushBtnHighlight );
|
||||||
if (edge & BDR_RAISEDOUTER)
|
if (edge & BDR_RAISEDOUTER)
|
||||||
{
|
{
|
||||||
if (flags & BF_LEFT) PatBlt( hdc, rc->left, rc->top,
|
if (flags & BF_LEFT) PatBlt( hdc, rc->left, rc->top,
|
||||||
|
@ -1131,7 +1279,7 @@ BOOL32 DrawEdge32( HDC32 hdc, LPRECT32 rc, UINT32 edge, UINT32 flags )
|
||||||
|
|
||||||
/* Then do all the sunken edges */
|
/* Then do all the sunken edges */
|
||||||
|
|
||||||
hbrushOld = SelectObject( hdc, sysColorObjects.hbrushBtnShadow );
|
SelectObject32( hdc, sysColorObjects.hbrushBtnShadow );
|
||||||
if (edge & BDR_SUNKENOUTER)
|
if (edge & BDR_SUNKENOUTER)
|
||||||
{
|
{
|
||||||
if (flags & BF_LEFT) PatBlt( hdc, rc->left, rc->top,
|
if (flags & BF_LEFT) PatBlt( hdc, rc->left, rc->top,
|
||||||
|
@ -1161,7 +1309,7 @@ BOOL32 DrawEdge32( HDC32 hdc, LPRECT32 rc, UINT32 edge, UINT32 flags )
|
||||||
rc->right - rc->left - 2, 1, PATCOPY );
|
rc->right - rc->left - 2, 1, PATCOPY );
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectObject( hdc, hbrushOld );
|
SelectObject32( hdc, hbrushOld );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -326,7 +326,7 @@ FARPROC16 SetWindowsHook16( INT16 id, HOOKPROC16 proc )
|
||||||
*/
|
*/
|
||||||
BOOL16 UnhookWindowsHook16( INT16 id, HOOKPROC16 proc )
|
BOOL16 UnhookWindowsHook16( INT16 id, HOOKPROC16 proc )
|
||||||
{
|
{
|
||||||
HANDLE16 hook = HOOK_GetHook( id , 0 );
|
HANDLE16 hook = HOOK_GetHook( id, GetTaskQueue(0) );
|
||||||
|
|
||||||
dprintf_hook( stddeb, "UnhookWindowsHook: %d %08lx\n", id, (DWORD)proc );
|
dprintf_hook( stddeb, "UnhookWindowsHook: %d %08lx\n", id, (DWORD)proc );
|
||||||
|
|
||||||
|
@ -380,7 +380,7 @@ HHOOK SetWindowsHookEx16( INT16 id, HOOKPROC16 proc, HINSTANCE16 hInst,
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* UnhookWindowHookEx16 (USER.292)
|
* UnhookWindowsHookEx16 (USER.292)
|
||||||
*/
|
*/
|
||||||
BOOL16 UnhookWindowsHookEx16( HHOOK hhook )
|
BOOL16 UnhookWindowsHookEx16( HHOOK hhook )
|
||||||
{
|
{
|
||||||
|
|
|
@ -668,17 +668,17 @@ HBITMAP16 CreateMDIMenuBitmap(void)
|
||||||
HBITMAP16 hbClose = LoadBitmap16(0, MAKEINTRESOURCE(OBM_CLOSE) );
|
HBITMAP16 hbClose = LoadBitmap16(0, MAKEINTRESOURCE(OBM_CLOSE) );
|
||||||
HBITMAP16 hbCopy,hb_src,hb_dest;
|
HBITMAP16 hbCopy,hb_src,hb_dest;
|
||||||
|
|
||||||
hb_src = SelectObject(hDCSrc,hbClose);
|
hb_src = SelectObject32(hDCSrc,hbClose);
|
||||||
hbCopy = CreateCompatibleBitmap(hDCSrc,SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE);
|
hbCopy = CreateCompatibleBitmap(hDCSrc,SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE);
|
||||||
hb_dest = SelectObject(hDCDest,hbCopy);
|
hb_dest = SelectObject32(hDCDest,hbCopy);
|
||||||
|
|
||||||
BitBlt(hDCDest, 0, 0, SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE,
|
BitBlt(hDCDest, 0, 0, SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE,
|
||||||
hDCSrc, SYSMETRICS_CXSIZE, 0, SRCCOPY);
|
hDCSrc, SYSMETRICS_CXSIZE, 0, SRCCOPY);
|
||||||
|
|
||||||
SelectObject(hDCSrc,hb_src);
|
SelectObject32(hDCSrc,hb_src);
|
||||||
SelectObject(hDCDest,hb_dest);
|
SelectObject32(hDCDest,hb_dest);
|
||||||
|
|
||||||
DeleteObject(hbClose);
|
DeleteObject32(hbClose);
|
||||||
|
|
||||||
DeleteDC(hDCDest);
|
DeleteDC(hDCDest);
|
||||||
DeleteDC(hDCSrc);
|
DeleteDC(hDCSrc);
|
||||||
|
|
|
@ -152,12 +152,11 @@ BOOL32 AdjustWindowRectEx32( LPRECT32 rect, DWORD style,
|
||||||
*
|
*
|
||||||
* Get the minimized and maximized information for a window.
|
* Get the minimized and maximized information for a window.
|
||||||
*/
|
*/
|
||||||
void NC_GetMinMaxInfo( HWND hwnd, POINT16 *maxSize, POINT16 *maxPos,
|
void NC_GetMinMaxInfo( WND *wndPtr, POINT16 *maxSize, POINT16 *maxPos,
|
||||||
POINT16 *minTrack, POINT16 *maxTrack )
|
POINT16 *minTrack, POINT16 *maxTrack )
|
||||||
{
|
{
|
||||||
MINMAXINFO16 *MinMax;
|
MINMAXINFO16 *MinMax;
|
||||||
short xinc, yinc;
|
short xinc, yinc;
|
||||||
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
|
||||||
|
|
||||||
if (!(MinMax = SEGPTR_NEW(MINMAXINFO16))) return;
|
if (!(MinMax = SEGPTR_NEW(MINMAXINFO16))) return;
|
||||||
|
|
||||||
|
@ -204,7 +203,8 @@ void NC_GetMinMaxInfo( HWND hwnd, POINT16 *maxSize, POINT16 *maxPos,
|
||||||
MinMax->ptMaxPosition.y = -yinc;
|
MinMax->ptMaxPosition.y = -yinc;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendMessage16( hwnd, WM_GETMINMAXINFO, 0, (LPARAM)SEGPTR_GET(MinMax) );
|
SendMessage16( wndPtr->hwndSelf, WM_GETMINMAXINFO, 0,
|
||||||
|
(LPARAM)SEGPTR_GET(MinMax) );
|
||||||
|
|
||||||
/* Some sanity checks */
|
/* Some sanity checks */
|
||||||
|
|
||||||
|
@ -299,7 +299,7 @@ static void NC_GetInsideRect( HWND hwnd, RECT16 *rect )
|
||||||
*
|
*
|
||||||
* Handle a WM_NCHITTEST message. Called from DefWindowProc().
|
* Handle a WM_NCHITTEST message. Called from DefWindowProc().
|
||||||
*/
|
*/
|
||||||
LONG NC_HandleNCHitTest( HWND hwnd, POINT16 pt )
|
LONG NC_HandleNCHitTest( HWND32 hwnd, POINT16 pt )
|
||||||
{
|
{
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
||||||
|
@ -442,11 +442,11 @@ void NC_DrawSysButton( HWND hwnd, HDC16 hdc, BOOL down )
|
||||||
{
|
{
|
||||||
NC_GetInsideRect( hwnd, &rect );
|
NC_GetInsideRect( hwnd, &rect );
|
||||||
hdcMem = CreateCompatibleDC( hdc );
|
hdcMem = CreateCompatibleDC( hdc );
|
||||||
hbitmap = SelectObject( hdcMem, hbitmapClose );
|
hbitmap = SelectObject32( hdcMem, hbitmapClose );
|
||||||
BitBlt( hdc, rect.left, rect.top, SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE,
|
BitBlt( hdc, rect.left, rect.top, SYSMETRICS_CXSIZE, SYSMETRICS_CYSIZE,
|
||||||
hdcMem, (wndPtr->dwStyle & WS_CHILD) ? SYSMETRICS_CXSIZE : 0, 0,
|
hdcMem, (wndPtr->dwStyle & WS_CHILD) ? SYSMETRICS_CXSIZE : 0, 0,
|
||||||
down ? NOTSRCCOPY : SRCCOPY );
|
down ? NOTSRCCOPY : SRCCOPY );
|
||||||
SelectObject( hdcMem, hbitmap );
|
SelectObject32( hdcMem, hbitmap );
|
||||||
DeleteDC( hdcMem );
|
DeleteDC( hdcMem );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -505,14 +505,14 @@ static void NC_DrawFrame( HDC16 hdc, RECT16 *rect, BOOL dlgFrame, BOOL active )
|
||||||
{
|
{
|
||||||
width = SYSMETRICS_CXDLGFRAME - 1;
|
width = SYSMETRICS_CXDLGFRAME - 1;
|
||||||
height = SYSMETRICS_CYDLGFRAME - 1;
|
height = SYSMETRICS_CYDLGFRAME - 1;
|
||||||
SelectObject( hdc, active ? sysColorObjects.hbrushActiveCaption :
|
SelectObject32( hdc, active ? sysColorObjects.hbrushActiveCaption :
|
||||||
sysColorObjects.hbrushInactiveCaption );
|
sysColorObjects.hbrushInactiveCaption );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
width = SYSMETRICS_CXFRAME - 1;
|
width = SYSMETRICS_CXFRAME - 1;
|
||||||
height = SYSMETRICS_CYFRAME - 1;
|
height = SYSMETRICS_CYFRAME - 1;
|
||||||
SelectObject( hdc, active ? sysColorObjects.hbrushActiveBorder :
|
SelectObject32( hdc, active ? sysColorObjects.hbrushActiveBorder :
|
||||||
sysColorObjects.hbrushInactiveBorder );
|
sysColorObjects.hbrushInactiveBorder );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -534,35 +534,35 @@ static void NC_DrawFrame( HDC16 hdc, RECT16 *rect, BOOL dlgFrame, BOOL active )
|
||||||
|
|
||||||
/* Draw inner rectangle */
|
/* Draw inner rectangle */
|
||||||
MoveTo( hdc, rect->left+width, rect->top+height );
|
MoveTo( hdc, rect->left+width, rect->top+height );
|
||||||
LineTo( hdc, rect->right-width-1, rect->top+height );
|
LineTo32( hdc, rect->right-width-1, rect->top+height );
|
||||||
LineTo( hdc, rect->right-width-1, rect->bottom-height-1 );
|
LineTo32( hdc, rect->right-width-1, rect->bottom-height-1 );
|
||||||
LineTo( hdc, rect->left+width, rect->bottom-height-1 );
|
LineTo32( hdc, rect->left+width, rect->bottom-height-1 );
|
||||||
LineTo( hdc, rect->left+width, rect->top+height );
|
LineTo32( hdc, rect->left+width, rect->top+height );
|
||||||
|
|
||||||
/* Draw the decorations */
|
/* Draw the decorations */
|
||||||
tmp = rect->top + SYSMETRICS_CYFRAME + SYSMETRICS_CYSIZE;
|
tmp = rect->top + SYSMETRICS_CYFRAME + SYSMETRICS_CYSIZE;
|
||||||
MoveTo( hdc, rect->left, tmp);
|
MoveTo( hdc, rect->left, tmp);
|
||||||
LineTo( hdc, rect->left+width, tmp );
|
LineTo32( hdc, rect->left+width, tmp );
|
||||||
MoveTo( hdc, rect->right-width-1, tmp );
|
MoveTo( hdc, rect->right-width-1, tmp );
|
||||||
LineTo( hdc, rect->right-1, tmp );
|
LineTo32( hdc, rect->right-1, tmp );
|
||||||
|
|
||||||
tmp = rect->bottom - 1 - SYSMETRICS_CYFRAME - SYSMETRICS_CYSIZE;
|
tmp = rect->bottom - 1 - SYSMETRICS_CYFRAME - SYSMETRICS_CYSIZE;
|
||||||
MoveTo( hdc, rect->left, tmp );
|
MoveTo( hdc, rect->left, tmp );
|
||||||
LineTo( hdc, rect->left+width, tmp );
|
LineTo32( hdc, rect->left+width, tmp );
|
||||||
MoveTo( hdc, rect->right-width-1, tmp );
|
MoveTo( hdc, rect->right-width-1, tmp );
|
||||||
LineTo( hdc, rect->right-1, tmp );
|
LineTo32( hdc, rect->right-1, tmp );
|
||||||
|
|
||||||
tmp = rect->left + SYSMETRICS_CXFRAME + SYSMETRICS_CXSIZE;
|
tmp = rect->left + SYSMETRICS_CXFRAME + SYSMETRICS_CXSIZE;
|
||||||
MoveTo( hdc, tmp, rect->top );
|
MoveTo( hdc, tmp, rect->top );
|
||||||
LineTo( hdc, tmp, rect->top+height );
|
LineTo32( hdc, tmp, rect->top+height );
|
||||||
MoveTo( hdc, tmp, rect->bottom-height-1 );
|
MoveTo( hdc, tmp, rect->bottom-height-1 );
|
||||||
LineTo( hdc, tmp, rect->bottom-1 );
|
LineTo32( hdc, tmp, rect->bottom-1 );
|
||||||
|
|
||||||
tmp = rect->right - 1 - SYSMETRICS_CXFRAME - SYSMETRICS_CYSIZE;
|
tmp = rect->right - 1 - SYSMETRICS_CXFRAME - SYSMETRICS_CYSIZE;
|
||||||
MoveTo( hdc, tmp, rect->top );
|
MoveTo( hdc, tmp, rect->top );
|
||||||
LineTo( hdc, tmp, rect->top+height );
|
LineTo32( hdc, tmp, rect->top+height );
|
||||||
MoveTo( hdc, tmp, rect->bottom-height-1 );
|
MoveTo( hdc, tmp, rect->bottom-height-1 );
|
||||||
LineTo( hdc, tmp, rect->bottom-1 );
|
LineTo32( hdc, tmp, rect->bottom-1 );
|
||||||
|
|
||||||
InflateRect16( rect, -width-1, -height-1 );
|
InflateRect16( rect, -width-1, -height-1 );
|
||||||
}
|
}
|
||||||
|
@ -577,7 +577,7 @@ static void NC_DrawMovingFrame( HDC16 hdc, RECT16 *rect, BOOL thickframe )
|
||||||
{
|
{
|
||||||
if (thickframe)
|
if (thickframe)
|
||||||
{
|
{
|
||||||
SelectObject( hdc, GetStockObject( GRAY_BRUSH ) );
|
SelectObject32( hdc, GetStockObject32( GRAY_BRUSH ) );
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
PatBlt( hdc, rect->left, rect->top,
|
||||||
rect->right - rect->left - SYSMETRICS_CXFRAME,
|
rect->right - rect->left - SYSMETRICS_CXFRAME,
|
||||||
SYSMETRICS_CYFRAME, PATINVERT );
|
SYSMETRICS_CYFRAME, PATINVERT );
|
||||||
|
@ -623,24 +623,24 @@ static void NC_DrawCaption( HDC16 hdc, RECT16 *rect, HWND hwnd,
|
||||||
|
|
||||||
if (wndPtr->dwExStyle & WS_EX_DLGMODALFRAME)
|
if (wndPtr->dwExStyle & WS_EX_DLGMODALFRAME)
|
||||||
{
|
{
|
||||||
HBRUSH16 hbrushOld = SelectObject( hdc, sysColorObjects.hbrushWindow );
|
HBRUSH32 hbrushOld = SelectObject32(hdc, sysColorObjects.hbrushWindow);
|
||||||
PatBlt( hdc, r.left, r.top, 1, r.bottom-r.top+1,PATCOPY );
|
PatBlt( hdc, r.left, r.top, 1, r.bottom-r.top+1,PATCOPY );
|
||||||
PatBlt( hdc, r.right-1, r.top, 1, r.bottom-r.top+1, PATCOPY );
|
PatBlt( hdc, r.right-1, r.top, 1, r.bottom-r.top+1, PATCOPY );
|
||||||
PatBlt( hdc, r.left, r.top-1, r.right-r.left, 1, PATCOPY );
|
PatBlt( hdc, r.left, r.top-1, r.right-r.left, 1, PATCOPY );
|
||||||
r.left++;
|
r.left++;
|
||||||
r.right--;
|
r.right--;
|
||||||
SelectObject( hdc, hbrushOld );
|
SelectObject32( hdc, hbrushOld );
|
||||||
}
|
}
|
||||||
|
|
||||||
MoveTo( hdc, r.left, r.bottom );
|
MoveTo( hdc, r.left, r.bottom );
|
||||||
LineTo( hdc, r.right-1, r.bottom );
|
LineTo32( hdc, r.right-1, r.bottom );
|
||||||
|
|
||||||
if (style & WS_SYSMENU)
|
if (style & WS_SYSMENU)
|
||||||
{
|
{
|
||||||
NC_DrawSysButton( hwnd, hdc, FALSE );
|
NC_DrawSysButton( hwnd, hdc, FALSE );
|
||||||
r.left += SYSMETRICS_CXSIZE + 1;
|
r.left += SYSMETRICS_CXSIZE + 1;
|
||||||
MoveTo( hdc, r.left - 1, r.top );
|
MoveTo( hdc, r.left - 1, r.top );
|
||||||
LineTo( hdc, r.left - 1, r.bottom );
|
LineTo32( hdc, r.left - 1, r.bottom );
|
||||||
}
|
}
|
||||||
if (style & WS_MAXIMIZEBOX)
|
if (style & WS_MAXIMIZEBOX)
|
||||||
{
|
{
|
||||||
|
@ -672,11 +672,11 @@ static void NC_DrawCaption( HDC16 hdc, RECT16 *rect, HWND hwnd,
|
||||||
*
|
*
|
||||||
* Paint the non-client area. clip is currently unused.
|
* Paint the non-client area. clip is currently unused.
|
||||||
*/
|
*/
|
||||||
void NC_DoNCPaint( HWND hwnd, HRGN32 clip, BOOL suppress_menupaint )
|
void NC_DoNCPaint( HWND32 hwnd, HRGN32 clip, BOOL32 suppress_menupaint )
|
||||||
{
|
{
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
RECT16 rect;
|
RECT16 rect;
|
||||||
BOOL active;
|
BOOL32 active;
|
||||||
|
|
||||||
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
||||||
|
|
||||||
|
@ -703,7 +703,7 @@ void NC_DoNCPaint( HWND hwnd, HRGN32 clip, BOOL suppress_menupaint )
|
||||||
rect.right = wndPtr->rectWindow.right - wndPtr->rectWindow.left;
|
rect.right = wndPtr->rectWindow.right - wndPtr->rectWindow.left;
|
||||||
rect.bottom = wndPtr->rectWindow.bottom - wndPtr->rectWindow.top;
|
rect.bottom = wndPtr->rectWindow.bottom - wndPtr->rectWindow.top;
|
||||||
|
|
||||||
SelectObject( hdc, sysColorObjects.hpenWindowFrame );
|
SelectObject32( hdc, sysColorObjects.hpenWindowFrame );
|
||||||
|
|
||||||
if (!(wndPtr->flags & WIN_MANAGED))
|
if (!(wndPtr->flags & WIN_MANAGED))
|
||||||
{
|
{
|
||||||
|
@ -711,10 +711,10 @@ void NC_DoNCPaint( HWND hwnd, HRGN32 clip, BOOL suppress_menupaint )
|
||||||
(wndPtr->dwExStyle & WS_EX_DLGMODALFRAME))
|
(wndPtr->dwExStyle & WS_EX_DLGMODALFRAME))
|
||||||
{
|
{
|
||||||
MoveTo( hdc, 0, 0 );
|
MoveTo( hdc, 0, 0 );
|
||||||
LineTo( hdc, rect.right-1, 0 );
|
LineTo32( hdc, rect.right-1, 0 );
|
||||||
LineTo( hdc, rect.right-1, rect.bottom-1 );
|
LineTo32( hdc, rect.right-1, rect.bottom-1 );
|
||||||
LineTo( hdc, 0, rect.bottom-1 );
|
LineTo32( hdc, 0, rect.bottom-1 );
|
||||||
LineTo( hdc, 0, 0 );
|
LineTo32( hdc, 0, 0 );
|
||||||
InflateRect16( &rect, -1, -1 );
|
InflateRect16( &rect, -1, -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -766,7 +766,7 @@ void NC_DoNCPaint( HWND hwnd, HRGN32 clip, BOOL suppress_menupaint )
|
||||||
*
|
*
|
||||||
* Handle a WM_NCPAINT message. Called from DefWindowProc().
|
* Handle a WM_NCPAINT message. Called from DefWindowProc().
|
||||||
*/
|
*/
|
||||||
LONG NC_HandleNCPaint( HWND hwnd , HRGN32 clip)
|
LONG NC_HandleNCPaint( HWND32 hwnd , HRGN32 clip)
|
||||||
{
|
{
|
||||||
NC_DoNCPaint( hwnd, clip, FALSE );
|
NC_DoNCPaint( hwnd, clip, FALSE );
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -804,9 +804,9 @@ LONG NC_HandleNCActivate( WND *wndPtr, WPARAM16 wParam )
|
||||||
*
|
*
|
||||||
* Handle a WM_SETCURSOR message. Called from DefWindowProc().
|
* Handle a WM_SETCURSOR message. Called from DefWindowProc().
|
||||||
*/
|
*/
|
||||||
LONG NC_HandleSetCursor( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
|
LONG NC_HandleSetCursor( HWND32 hwnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
if (hwnd != (HWND)wParam) return 0; /* Don't set the cursor for child windows */
|
if (hwnd != (HWND32)wParam) return 0; /* Don't set the cursor for child windows */
|
||||||
|
|
||||||
switch(LOWORD(lParam))
|
switch(LOWORD(lParam))
|
||||||
{
|
{
|
||||||
|
@ -1029,7 +1029,7 @@ static void NC_DoSizeMove( HWND hwnd, WORD wParam, POINT16 pt )
|
||||||
|
|
||||||
/* Get min/max info */
|
/* Get min/max info */
|
||||||
|
|
||||||
NC_GetMinMaxInfo( hwnd, NULL, NULL, &minTrack, &maxTrack );
|
NC_GetMinMaxInfo( wndPtr, NULL, NULL, &minTrack, &maxTrack );
|
||||||
sizingRect = wndPtr->rectWindow;
|
sizingRect = wndPtr->rectWindow;
|
||||||
if (wndPtr->dwStyle & WS_CHILD)
|
if (wndPtr->dwStyle & WS_CHILD)
|
||||||
GetClientRect16( wndPtr->parent->hwndSelf, &mouseRect );
|
GetClientRect16( wndPtr->parent->hwndSelf, &mouseRect );
|
||||||
|
@ -1278,7 +1278,7 @@ static void NC_TrackScrollBar( HWND32 hwnd, WPARAM32 wParam, POINT32 pt )
|
||||||
*
|
*
|
||||||
* Handle a WM_NCLBUTTONDOWN message. Called from DefWindowProc().
|
* Handle a WM_NCLBUTTONDOWN message. Called from DefWindowProc().
|
||||||
*/
|
*/
|
||||||
LONG NC_HandleNCLButtonDown( HWND hwnd, WPARAM16 wParam, LPARAM lParam )
|
LONG NC_HandleNCLButtonDown( HWND32 hwnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
HDC32 hdc;
|
HDC32 hdc;
|
||||||
|
|
||||||
|
@ -1370,7 +1370,7 @@ LONG NC_HandleNCLButtonDblClk( WND *pWnd, WPARAM16 wParam, LPARAM lParam )
|
||||||
*
|
*
|
||||||
* Handle a WM_SYSCOMMAND message. Called from DefWindowProc().
|
* Handle a WM_SYSCOMMAND message. Called from DefWindowProc().
|
||||||
*/
|
*/
|
||||||
LONG NC_HandleSysCommand( HWND hwnd, WPARAM16 wParam, POINT16 pt )
|
LONG NC_HandleSysCommand( HWND32 hwnd, WPARAM16 wParam, POINT16 pt )
|
||||||
{
|
{
|
||||||
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
||||||
POINT32 pt32;
|
POINT32 pt32;
|
||||||
|
|
|
@ -41,29 +41,30 @@ void WIN_UpdateNCArea(WND* wnd, BOOL bUpdate)
|
||||||
{
|
{
|
||||||
ClientToScreen16(wnd->hwndSelf, &pt);
|
ClientToScreen16(wnd->hwndSelf, &pt);
|
||||||
|
|
||||||
hClip = CreateRectRgn( 0, 0, 0, 0 );
|
hClip = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
if (!CombineRgn(hClip, wnd->hrgnUpdate, 0, RGN_COPY) )
|
if (!CombineRgn32( hClip, wnd->hrgnUpdate, 0, RGN_COPY ))
|
||||||
{
|
{
|
||||||
DeleteObject(hClip);
|
DeleteObject32(hClip);
|
||||||
hClip = 1;
|
hClip = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
OffsetRgn(hClip, pt.x, pt.y);
|
OffsetRgn32( hClip, pt.x, pt.y );
|
||||||
|
|
||||||
if (bUpdate)
|
if (bUpdate)
|
||||||
{
|
{
|
||||||
/* exclude non-client area from update region */
|
/* exclude non-client area from update region */
|
||||||
HRGN32 hrgn = CreateRectRgn(0, 0, wnd->rectClient.right - wnd->rectClient.left,
|
HRGN32 hrgn = CreateRectRgn32( 0, 0,
|
||||||
|
wnd->rectClient.right - wnd->rectClient.left,
|
||||||
wnd->rectClient.bottom - wnd->rectClient.top);
|
wnd->rectClient.bottom - wnd->rectClient.top);
|
||||||
|
|
||||||
if (hrgn && (CombineRgn(wnd->hrgnUpdate, wnd->hrgnUpdate,
|
if (hrgn && (CombineRgn32( wnd->hrgnUpdate, wnd->hrgnUpdate,
|
||||||
hrgn, RGN_AND) == NULLREGION))
|
hrgn, RGN_AND) == NULLREGION))
|
||||||
{
|
{
|
||||||
DeleteObject(wnd->hrgnUpdate);
|
DeleteObject32( wnd->hrgnUpdate );
|
||||||
wnd->hrgnUpdate = 1;
|
wnd->hrgnUpdate = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,13 +74,13 @@ void WIN_UpdateNCArea(WND* wnd, BOOL bUpdate)
|
||||||
!(wnd->flags & WIN_NCACTIVATED))
|
!(wnd->flags & WIN_NCACTIVATED))
|
||||||
{
|
{
|
||||||
wnd->flags |= WIN_NCACTIVATED;
|
wnd->flags |= WIN_NCACTIVATED;
|
||||||
if( hClip > 1) DeleteObject(hClip);
|
if( hClip > 1) DeleteObject32( hClip );
|
||||||
hClip = 1;
|
hClip = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hClip) SendMessage16( wnd->hwndSelf, WM_NCPAINT, hClip, 0L );
|
if (hClip) SendMessage16( wnd->hwndSelf, WM_NCPAINT, hClip, 0L );
|
||||||
|
|
||||||
if (hClip > 1) DeleteObject( hClip );
|
if (hClip > 1) DeleteObject32( hClip );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -280,8 +281,9 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
if ((hrgn = hrgnUpdate) == 0)
|
if ((hrgn = hrgnUpdate) == 0)
|
||||||
hrgn = CreateRectRgnIndirect32( rectUpdate ? rectUpdate :
|
hrgn = CreateRectRgnIndirect32( rectUpdate ? rectUpdate :
|
||||||
&rectClient );
|
&rectClient );
|
||||||
rgnNotEmpty = CombineRgn( wndPtr->hrgnUpdate, wndPtr->hrgnUpdate, hrgn, RGN_OR );
|
rgnNotEmpty = CombineRgn32( wndPtr->hrgnUpdate, wndPtr->hrgnUpdate,
|
||||||
if (!hrgnUpdate) DeleteObject( hrgn );
|
hrgn, RGN_OR );
|
||||||
|
if (!hrgnUpdate) DeleteObject32( hrgn );
|
||||||
}
|
}
|
||||||
else /* No update region yet */
|
else /* No update region yet */
|
||||||
{
|
{
|
||||||
|
@ -289,8 +291,9 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
QUEUE_IncPaintCount( wndPtr->hmemTaskQ );
|
QUEUE_IncPaintCount( wndPtr->hmemTaskQ );
|
||||||
if (hrgnUpdate)
|
if (hrgnUpdate)
|
||||||
{
|
{
|
||||||
wndPtr->hrgnUpdate = CreateRectRgn( 0, 0, 0, 0 );
|
wndPtr->hrgnUpdate = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
rgnNotEmpty = CombineRgn( wndPtr->hrgnUpdate, hrgnUpdate, 0, RGN_COPY );
|
rgnNotEmpty = CombineRgn32( wndPtr->hrgnUpdate, hrgnUpdate,
|
||||||
|
0, RGN_COPY );
|
||||||
}
|
}
|
||||||
else wndPtr->hrgnUpdate = CreateRectRgnIndirect32( rectUpdate ?
|
else wndPtr->hrgnUpdate = CreateRectRgnIndirect32( rectUpdate ?
|
||||||
rectUpdate : &rectClient );
|
rectUpdate : &rectClient );
|
||||||
|
@ -302,7 +305,7 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
if ( rgnNotEmpty == NULLREGION )
|
if ( rgnNotEmpty == NULLREGION )
|
||||||
{
|
{
|
||||||
wndPtr->flags &= ~WIN_NEEDS_ERASEBKGND;
|
wndPtr->flags &= ~WIN_NEEDS_ERASEBKGND;
|
||||||
DeleteObject(wndPtr->hrgnUpdate);
|
DeleteObject32( wndPtr->hrgnUpdate );
|
||||||
wndPtr->hrgnUpdate=0;
|
wndPtr->hrgnUpdate=0;
|
||||||
if (!(wndPtr->flags & WIN_INTERNAL_PAINT))
|
if (!(wndPtr->flags & WIN_INTERNAL_PAINT))
|
||||||
QUEUE_DecPaintCount( wndPtr->hmemTaskQ );
|
QUEUE_DecPaintCount( wndPtr->hmemTaskQ );
|
||||||
|
@ -319,20 +322,20 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
if (!hrgnUpdate && !rectUpdate)
|
if (!hrgnUpdate && !rectUpdate)
|
||||||
{
|
{
|
||||||
/* Special case: validate everything */
|
/* Special case: validate everything */
|
||||||
DeleteObject( wndPtr->hrgnUpdate );
|
DeleteObject32( wndPtr->hrgnUpdate );
|
||||||
wndPtr->hrgnUpdate = 0;
|
wndPtr->hrgnUpdate = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((hrgn = hrgnUpdate) == 0)
|
if ((hrgn = hrgnUpdate) == 0)
|
||||||
hrgn = CreateRectRgnIndirect32( rectUpdate );
|
hrgn = CreateRectRgnIndirect32( rectUpdate );
|
||||||
if (CombineRgn( wndPtr->hrgnUpdate, wndPtr->hrgnUpdate,
|
if (CombineRgn32( wndPtr->hrgnUpdate, wndPtr->hrgnUpdate,
|
||||||
hrgn, RGN_DIFF ) == NULLREGION)
|
hrgn, RGN_DIFF ) == NULLREGION)
|
||||||
{
|
{
|
||||||
DeleteObject( wndPtr->hrgnUpdate );
|
DeleteObject32( wndPtr->hrgnUpdate );
|
||||||
wndPtr->hrgnUpdate = 0;
|
wndPtr->hrgnUpdate = 0;
|
||||||
}
|
}
|
||||||
if (!hrgnUpdate) DeleteObject( hrgn );
|
if (!hrgnUpdate) DeleteObject32( hrgn );
|
||||||
}
|
}
|
||||||
if (!wndPtr->hrgnUpdate) /* No more update region */
|
if (!wndPtr->hrgnUpdate) /* No more update region */
|
||||||
if (!(wndPtr->flags & WIN_INTERNAL_PAINT))
|
if (!(wndPtr->flags & WIN_INTERNAL_PAINT))
|
||||||
|
@ -394,13 +397,13 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
{
|
{
|
||||||
if ( hrgnUpdate || rectUpdate )
|
if ( hrgnUpdate || rectUpdate )
|
||||||
{
|
{
|
||||||
if( !(hrgn = CreateRectRgn( 0, 0, 0, 0 )) ) return TRUE;
|
if (!(hrgn = CreateRectRgn32( 0, 0, 0, 0 ))) return TRUE;
|
||||||
if( !hrgnUpdate )
|
if( !hrgnUpdate )
|
||||||
{
|
{
|
||||||
control |= (RDW_C_DELETEHRGN | RDW_C_USEHRGN);
|
control |= (RDW_C_DELETEHRGN | RDW_C_USEHRGN);
|
||||||
if( !(hrgnUpdate = CreateRectRgnIndirect32( rectUpdate )) )
|
if( !(hrgnUpdate = CreateRectRgnIndirect32( rectUpdate )) )
|
||||||
{
|
{
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -409,7 +412,7 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
{
|
{
|
||||||
if (wndPtr->class->style & CS_PARENTDC)
|
if (wndPtr->class->style & CS_PARENTDC)
|
||||||
{
|
{
|
||||||
if (!CombineRgn( hrgn, hrgnUpdate, 0, RGN_COPY ))
|
if (!CombineRgn32( hrgn, hrgnUpdate, 0, RGN_COPY ))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -418,21 +421,15 @@ BOOL32 PAINT_RedrawWindow( HWND32 hwnd, const RECT32 *rectUpdate,
|
||||||
wndPtr->rectWindow.top,
|
wndPtr->rectWindow.top,
|
||||||
wndPtr->rectWindow.right,
|
wndPtr->rectWindow.right,
|
||||||
wndPtr->rectWindow.bottom );
|
wndPtr->rectWindow.bottom );
|
||||||
if (!CombineRgn( hrgn, hrgn, hrgnUpdate, RGN_AND ))
|
if (!CombineRgn32( hrgn, hrgn, hrgnUpdate, RGN_AND ))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#if 0
|
OffsetRgn32( hrgn, -wndPtr->rectClient.left,
|
||||||
if( control & RDW_C_USEHRGN &&
|
|
||||||
wndPtr->dwStyle & WS_CLIPSIBLINGS )
|
|
||||||
CombineRgn( hrgnUpdate, hrgnUpdate, hrgn, RGN_DIFF );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
OffsetRgn( hrgn, -wndPtr->rectClient.left,
|
|
||||||
-wndPtr->rectClient.top );
|
-wndPtr->rectClient.top );
|
||||||
PAINT_RedrawWindow( wndPtr->hwndSelf, NULL, hrgn, flags, RDW_C_USEHRGN );
|
PAINT_RedrawWindow( wndPtr->hwndSelf, NULL, hrgn, flags, RDW_C_USEHRGN );
|
||||||
}
|
}
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
if( control & RDW_C_DELETEHRGN ) DeleteObject( hrgnUpdate );
|
if (control & RDW_C_DELETEHRGN) DeleteObject32( hrgnUpdate );
|
||||||
}
|
}
|
||||||
else for (wndPtr = wndPtr->child; wndPtr; wndPtr = wndPtr->next)
|
else for (wndPtr = wndPtr->child; wndPtr; wndPtr = wndPtr->next)
|
||||||
PAINT_RedrawWindow( wndPtr->hwndSelf, NULL, 0, flags, 0 );
|
PAINT_RedrawWindow( wndPtr->hwndSelf, NULL, 0, flags, 0 );
|
||||||
|
@ -564,10 +561,10 @@ BOOL32 GetUpdateRect32( HWND32 hwnd, LPRECT32 rect, BOOL32 erase )
|
||||||
{
|
{
|
||||||
if (wndPtr->hrgnUpdate > 1)
|
if (wndPtr->hrgnUpdate > 1)
|
||||||
{
|
{
|
||||||
HRGN32 hrgn = CreateRectRgn( 0, 0, 0, 0 );
|
HRGN32 hrgn = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
if (GetUpdateRgn( hwnd, hrgn, erase ) == ERROR) return FALSE;
|
if (GetUpdateRgn( hwnd, hrgn, erase ) == ERROR) return FALSE;
|
||||||
GetRgnBox32( hrgn, rect );
|
GetRgnBox32( hrgn, rect );
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
}
|
}
|
||||||
else SetRectEmpty32( rect );
|
else SetRectEmpty32( rect );
|
||||||
}
|
}
|
||||||
|
@ -580,7 +577,7 @@ BOOL32 GetUpdateRect32( HWND32 hwnd, LPRECT32 rect, BOOL32 erase )
|
||||||
*/
|
*/
|
||||||
INT16 GetUpdateRgn( HWND32 hwnd, HRGN32 hrgn, BOOL32 erase )
|
INT16 GetUpdateRgn( HWND32 hwnd, HRGN32 hrgn, BOOL32 erase )
|
||||||
{
|
{
|
||||||
INT16 retval;
|
INT32 retval;
|
||||||
WND * wndPtr = WIN_FindWndPtr( hwnd );
|
WND * wndPtr = WIN_FindWndPtr( hwnd );
|
||||||
if (!wndPtr) return ERROR;
|
if (!wndPtr) return ERROR;
|
||||||
|
|
||||||
|
@ -589,7 +586,7 @@ INT16 GetUpdateRgn( HWND32 hwnd, HRGN32 hrgn, BOOL32 erase )
|
||||||
SetRectRgn( hrgn, 0, 0, 0, 0 );
|
SetRectRgn( hrgn, 0, 0, 0, 0 );
|
||||||
return NULLREGION;
|
return NULLREGION;
|
||||||
}
|
}
|
||||||
retval = CombineRgn( hrgn, wndPtr->hrgnUpdate, 0, RGN_COPY );
|
retval = CombineRgn32( hrgn, wndPtr->hrgnUpdate, 0, RGN_COPY );
|
||||||
if (erase) RedrawWindow32( hwnd, NULL, 0, RDW_ERASENOW | RDW_NOCHILDREN );
|
if (erase) RedrawWindow32( hwnd, NULL, 0, RDW_ERASENOW | RDW_NOCHILDREN );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -600,18 +597,18 @@ INT16 GetUpdateRgn( HWND32 hwnd, HRGN32 hrgn, BOOL32 erase )
|
||||||
*/
|
*/
|
||||||
INT16 ExcludeUpdateRgn( HDC32 hdc, HWND32 hwnd )
|
INT16 ExcludeUpdateRgn( HDC32 hdc, HWND32 hwnd )
|
||||||
{
|
{
|
||||||
INT16 retval = ERROR;
|
INT32 retval = ERROR;
|
||||||
HRGN32 hrgn;
|
HRGN32 hrgn;
|
||||||
WND * wndPtr;
|
WND * wndPtr;
|
||||||
|
|
||||||
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return ERROR;
|
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return ERROR;
|
||||||
if ((hrgn = CreateRectRgn( 0, 0, 0, 0 )) != 0)
|
if ((hrgn = CreateRectRgn32( 0, 0, 0, 0 )) != 0)
|
||||||
{
|
{
|
||||||
retval = CombineRgn( hrgn, InquireVisRgn(hdc),
|
retval = CombineRgn32( hrgn, InquireVisRgn(hdc),
|
||||||
(wndPtr->hrgnUpdate>1) ? wndPtr->hrgnUpdate : 0,
|
(wndPtr->hrgnUpdate>1) ? wndPtr->hrgnUpdate : 0,
|
||||||
(wndPtr->hrgnUpdate>1) ? RGN_DIFF : RGN_COPY );
|
(wndPtr->hrgnUpdate>1) ? RGN_DIFF : RGN_COPY );
|
||||||
if (retval) SelectVisRgn( hdc, hrgn );
|
if (retval) SelectVisRgn( hdc, hrgn );
|
||||||
DeleteObject( hrgn );
|
DeleteObject32( hrgn );
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ void ScrollWindow(HWND hwnd, short dx, short dy, LPRECT16 rect, LPRECT16 clipRec
|
||||||
else hCaretWnd = 0;
|
else hCaretWnd = 0;
|
||||||
|
|
||||||
hdc = GetDCEx32(hwnd, hrgnClip, DCX_CACHE | DCX_CLIPSIBLINGS);
|
hdc = GetDCEx32(hwnd, hrgnClip, DCX_CACHE | DCX_CLIPSIBLINGS);
|
||||||
DeleteObject(hrgnClip);
|
DeleteObject32( hrgnClip );
|
||||||
}
|
}
|
||||||
else /* clip children */
|
else /* clip children */
|
||||||
{
|
{
|
||||||
|
@ -71,7 +71,7 @@ void ScrollWindow(HWND hwnd, short dx, short dy, LPRECT16 rect, LPRECT16 clipRec
|
||||||
else
|
else
|
||||||
CopyRect16(&cliprc, clipRect);
|
CopyRect16(&cliprc, clipRect);
|
||||||
|
|
||||||
hrgnUpdate = CreateRectRgn(0, 0, 0, 0);
|
hrgnUpdate = CreateRectRgn32( 0, 0, 0, 0 );
|
||||||
ScrollDC(hdc, dx, dy, &rc, &cliprc, hrgnUpdate, NULL);
|
ScrollDC(hdc, dx, dy, &rc, &cliprc, hrgnUpdate, NULL);
|
||||||
ReleaseDC32(hwnd, hdc);
|
ReleaseDC32(hwnd, hdc);
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ void ScrollWindow(HWND hwnd, short dx, short dy, LPRECT16 rect, LPRECT16 clipRec
|
||||||
WND* wndPtr;
|
WND* wndPtr;
|
||||||
|
|
||||||
if( wndScroll->hrgnUpdate > 1 )
|
if( wndScroll->hrgnUpdate > 1 )
|
||||||
OffsetRgn( wndScroll->hrgnUpdate, dx, dy );
|
OffsetRgn32( wndScroll->hrgnUpdate, dx, dy );
|
||||||
|
|
||||||
for (wndPtr = wndScroll->child; wndPtr; wndPtr = wndPtr->next)
|
for (wndPtr = wndScroll->child; wndPtr; wndPtr = wndPtr->next)
|
||||||
SetWindowPos(wndPtr->hwndSelf, 0, wndPtr->rectWindow.left + dx,
|
SetWindowPos(wndPtr->hwndSelf, 0, wndPtr->rectWindow.left + dx,
|
||||||
|
@ -92,7 +92,7 @@ void ScrollWindow(HWND hwnd, short dx, short dy, LPRECT16 rect, LPRECT16 clipRec
|
||||||
PAINT_RedrawWindow( hwnd, NULL, hrgnUpdate, RDW_ALLCHILDREN |
|
PAINT_RedrawWindow( hwnd, NULL, hrgnUpdate, RDW_ALLCHILDREN |
|
||||||
RDW_INVALIDATE | RDW_ERASE | RDW_ERASENOW, RDW_C_USEHRGN );
|
RDW_INVALIDATE | RDW_ERASE | RDW_ERASENOW, RDW_C_USEHRGN );
|
||||||
|
|
||||||
DeleteObject(hrgnUpdate);
|
DeleteObject32( hrgnUpdate );
|
||||||
if( hCaretWnd ) ShowCaret(hCaretWnd);
|
if( hCaretWnd ) ShowCaret(hCaretWnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,13 +135,14 @@ BOOL ScrollDC(HDC16 hdc, short dx, short dy, LPRECT16 rc, LPRECT16 cliprc,
|
||||||
{
|
{
|
||||||
/* save a copy and change cliprgn directly */
|
/* save a copy and change cliprgn directly */
|
||||||
|
|
||||||
CombineRgn( hrgnScrollClip, hrgnClip, 0, RGN_COPY );
|
CombineRgn32( hrgnScrollClip, hrgnClip, 0, RGN_COPY );
|
||||||
SetRectRgn( hrgnClip, rectClip.left, rectClip.top, rectClip.right, rectClip.bottom );
|
SetRectRgn( hrgnClip, rectClip.left, rectClip.top,
|
||||||
|
rectClip.right, rectClip.bottom );
|
||||||
|
|
||||||
CLIPPING_UpdateGCRegion( dc );
|
CLIPPING_UpdateGCRegion( dc );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SelectClipRgn( hdc, hrgnScrollClip );
|
SelectClipRgn16( hdc, hrgnScrollClip );
|
||||||
|
|
||||||
/* translate coordinates */
|
/* translate coordinates */
|
||||||
|
|
||||||
|
@ -179,15 +180,18 @@ BOOL ScrollDC(HDC16 hdc, short dx, short dy, LPRECT16 rc, LPRECT16 cliprc,
|
||||||
|
|
||||||
if (hrgnUpdate || rcUpdate)
|
if (hrgnUpdate || rcUpdate)
|
||||||
{
|
{
|
||||||
HRGN32 hrgn1 = (hrgnUpdate)?hrgnUpdate:CreateRectRgn( 0,0,0,0 );
|
HRGN32 hrgn1 = (hrgnUpdate) ? hrgnUpdate : CreateRectRgn32( 0,0,0,0 );
|
||||||
|
|
||||||
if( dc->w.hVisRgn )
|
if( dc->w.hVisRgn )
|
||||||
{
|
{
|
||||||
CombineRgn( hrgn1, dc->w.hVisRgn, 0, RGN_COPY);
|
CombineRgn32( hrgn1, dc->w.hVisRgn, 0, RGN_COPY );
|
||||||
CombineRgn( hrgn1, hrgn1, (hrgnClip)?hrgnClip:hrgnScrollClip, RGN_AND);
|
CombineRgn32( hrgn1, hrgn1, hrgnClip ? hrgnClip : hrgnScrollClip,
|
||||||
OffsetRgn( hrgn1, dx, dy );
|
RGN_AND );
|
||||||
CombineRgn( hrgn1, dc->w.hVisRgn, hrgn1, RGN_DIFF);
|
OffsetRgn32( hrgn1, dx, dy );
|
||||||
RgnType = CombineRgn( hrgn1, hrgn1, (hrgnClip)?hrgnClip:hrgnScrollClip, RGN_AND);
|
CombineRgn32( hrgn1, dc->w.hVisRgn, hrgn1, RGN_DIFF );
|
||||||
|
RgnType = CombineRgn32( hrgn1, hrgn1,
|
||||||
|
hrgnClip ? hrgnClip : hrgnScrollClip,
|
||||||
|
RGN_AND );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -208,13 +212,13 @@ BOOL ScrollDC(HDC16 hdc, short dx, short dy, LPRECT16 rc, LPRECT16 cliprc,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rcUpdate) GetRgnBox16( hrgn1, rcUpdate );
|
if (rcUpdate) GetRgnBox16( hrgn1, rcUpdate );
|
||||||
if (!hrgnUpdate) DeleteObject( hrgn1 );
|
if (!hrgnUpdate) DeleteObject32( hrgn1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* restore clipping region */
|
/* restore clipping region */
|
||||||
|
|
||||||
SelectClipRgn( hdc, (hrgnClip)?hrgnScrollClip:0 );
|
SelectClipRgn32( hdc, hrgnClip ? hrgnScrollClip : 0 );
|
||||||
DeleteObject( hrgnScrollClip );
|
DeleteObject32( hrgnScrollClip );
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,70 +57,70 @@ static void SYSCOLOR_SetColor( int index, COLORREF color )
|
||||||
switch(index)
|
switch(index)
|
||||||
{
|
{
|
||||||
case COLOR_SCROLLBAR:
|
case COLOR_SCROLLBAR:
|
||||||
DeleteObject( sysColorObjects.hbrushScrollbar );
|
DeleteObject32( sysColorObjects.hbrushScrollbar );
|
||||||
sysColorObjects.hbrushScrollbar = CreateSolidBrush( color );
|
sysColorObjects.hbrushScrollbar = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_BACKGROUND:
|
case COLOR_BACKGROUND:
|
||||||
break;
|
break;
|
||||||
case COLOR_ACTIVECAPTION:
|
case COLOR_ACTIVECAPTION:
|
||||||
DeleteObject( sysColorObjects.hbrushActiveCaption );
|
DeleteObject32( sysColorObjects.hbrushActiveCaption );
|
||||||
sysColorObjects.hbrushActiveCaption = CreateSolidBrush( color );
|
sysColorObjects.hbrushActiveCaption = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_INACTIVECAPTION:
|
case COLOR_INACTIVECAPTION:
|
||||||
DeleteObject( sysColorObjects.hbrushInactiveCaption );
|
DeleteObject32( sysColorObjects.hbrushInactiveCaption );
|
||||||
sysColorObjects.hbrushInactiveCaption = CreateSolidBrush( color );
|
sysColorObjects.hbrushInactiveCaption = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_MENU:
|
case COLOR_MENU:
|
||||||
DeleteObject( sysColorObjects.hbrushMenu );
|
DeleteObject32( sysColorObjects.hbrushMenu );
|
||||||
sysColorObjects.hbrushMenu = CreateSolidBrush( MAKE_SOLID(color) );
|
sysColorObjects.hbrushMenu = CreateSolidBrush32( MAKE_SOLID(color) );
|
||||||
break;
|
break;
|
||||||
case COLOR_WINDOW:
|
case COLOR_WINDOW:
|
||||||
DeleteObject( sysColorObjects.hbrushWindow );
|
DeleteObject32( sysColorObjects.hbrushWindow );
|
||||||
sysColorObjects.hbrushWindow = CreateSolidBrush( color );
|
sysColorObjects.hbrushWindow = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_WINDOWFRAME:
|
case COLOR_WINDOWFRAME:
|
||||||
DeleteObject( sysColorObjects.hpenWindowFrame );
|
DeleteObject32( sysColorObjects.hpenWindowFrame );
|
||||||
sysColorObjects.hpenWindowFrame = CreatePen( PS_SOLID, 1, color );
|
sysColorObjects.hpenWindowFrame = CreatePen32( PS_SOLID, 1, color );
|
||||||
break;
|
break;
|
||||||
case COLOR_MENUTEXT:
|
case COLOR_MENUTEXT:
|
||||||
break;
|
break;
|
||||||
case COLOR_WINDOWTEXT:
|
case COLOR_WINDOWTEXT:
|
||||||
DeleteObject( sysColorObjects.hpenWindowText );
|
DeleteObject32( sysColorObjects.hpenWindowText );
|
||||||
sysColorObjects.hpenWindowText = CreatePen( PS_DOT, 1, color );
|
sysColorObjects.hpenWindowText = CreatePen32( PS_DOT, 1, color );
|
||||||
break;
|
break;
|
||||||
case COLOR_CAPTIONTEXT:
|
case COLOR_CAPTIONTEXT:
|
||||||
break;
|
break;
|
||||||
case COLOR_ACTIVEBORDER:
|
case COLOR_ACTIVEBORDER:
|
||||||
DeleteObject( sysColorObjects.hbrushActiveBorder );
|
DeleteObject32( sysColorObjects.hbrushActiveBorder );
|
||||||
sysColorObjects.hbrushActiveBorder = CreateSolidBrush( color );
|
sysColorObjects.hbrushActiveBorder = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_INACTIVEBORDER:
|
case COLOR_INACTIVEBORDER:
|
||||||
DeleteObject( sysColorObjects.hbrushInactiveBorder );
|
DeleteObject32( sysColorObjects.hbrushInactiveBorder );
|
||||||
sysColorObjects.hbrushInactiveBorder = CreateSolidBrush( color );
|
sysColorObjects.hbrushInactiveBorder = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_APPWORKSPACE:
|
case COLOR_APPWORKSPACE:
|
||||||
break;
|
break;
|
||||||
case COLOR_HIGHLIGHT:
|
case COLOR_HIGHLIGHT:
|
||||||
DeleteObject( sysColorObjects.hbrushHighlight );
|
DeleteObject32( sysColorObjects.hbrushHighlight );
|
||||||
sysColorObjects.hbrushHighlight = CreateSolidBrush( MAKE_SOLID(color));
|
sysColorObjects.hbrushHighlight = CreateSolidBrush32(MAKE_SOLID(color));
|
||||||
break;
|
break;
|
||||||
case COLOR_HIGHLIGHTTEXT:
|
case COLOR_HIGHLIGHTTEXT:
|
||||||
break;
|
break;
|
||||||
case COLOR_BTNFACE:
|
case COLOR_BTNFACE:
|
||||||
DeleteObject( sysColorObjects.hbrushBtnFace );
|
DeleteObject32( sysColorObjects.hbrushBtnFace );
|
||||||
sysColorObjects.hbrushBtnFace = CreateSolidBrush( color );
|
sysColorObjects.hbrushBtnFace = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_BTNSHADOW:
|
case COLOR_BTNSHADOW:
|
||||||
DeleteObject( sysColorObjects.hbrushBtnShadow );
|
DeleteObject32( sysColorObjects.hbrushBtnShadow );
|
||||||
sysColorObjects.hbrushBtnShadow = CreateSolidBrush( color );
|
sysColorObjects.hbrushBtnShadow = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
case COLOR_GRAYTEXT:
|
case COLOR_GRAYTEXT:
|
||||||
case COLOR_BTNTEXT:
|
case COLOR_BTNTEXT:
|
||||||
case COLOR_INACTIVECAPTIONTEXT:
|
case COLOR_INACTIVECAPTIONTEXT:
|
||||||
break;
|
break;
|
||||||
case COLOR_BTNHIGHLIGHT:
|
case COLOR_BTNHIGHLIGHT:
|
||||||
DeleteObject( sysColorObjects.hbrushBtnHighlight );
|
DeleteObject32( sysColorObjects.hbrushBtnHighlight );
|
||||||
sysColorObjects.hbrushBtnHighlight = CreateSolidBrush( color );
|
sysColorObjects.hbrushBtnHighlight = CreateSolidBrush32( color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -342,7 +342,7 @@ static void WIN_DestroyWindow( WND* wndPtr )
|
||||||
|
|
||||||
if ((wndPtr->hrgnUpdate) || (wndPtr->flags & WIN_INTERNAL_PAINT))
|
if ((wndPtr->hrgnUpdate) || (wndPtr->flags & WIN_INTERNAL_PAINT))
|
||||||
{
|
{
|
||||||
if (wndPtr->hrgnUpdate) DeleteObject( wndPtr->hrgnUpdate );
|
if (wndPtr->hrgnUpdate) DeleteObject32( wndPtr->hrgnUpdate );
|
||||||
QUEUE_DecPaintCount( wndPtr->hmemTaskQ );
|
QUEUE_DecPaintCount( wndPtr->hmemTaskQ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ static HWND WIN_CreateWindowEx( CREATESTRUCT32A *cs, ATOM classAtom,
|
||||||
|
|
||||||
if ((cs->style & WS_THICKFRAME) || !(cs->style & (WS_POPUP | WS_CHILD)))
|
if ((cs->style & WS_THICKFRAME) || !(cs->style & (WS_POPUP | WS_CHILD)))
|
||||||
{
|
{
|
||||||
NC_GetMinMaxInfo( hwnd, &maxSize, &maxPos, &minTrack, &maxTrack );
|
NC_GetMinMaxInfo( wndPtr, &maxSize, &maxPos, &minTrack, &maxTrack );
|
||||||
if (maxSize.x < cs->cx) cs->cx = maxSize.x;
|
if (maxSize.x < cs->cx) cs->cx = maxSize.x;
|
||||||
if (maxSize.y < cs->cy) cs->cy = maxSize.y;
|
if (maxSize.y < cs->cy) cs->cy = maxSize.y;
|
||||||
if (cs->cx < minTrack.x ) cs->cx = minTrack.x;
|
if (cs->cx < minTrack.x ) cs->cx = minTrack.x;
|
||||||
|
@ -802,7 +802,7 @@ static HWND WIN_CreateWindowEx( CREATESTRUCT32A *cs, ATOM classAtom,
|
||||||
/* MinMaximize(hwnd, SW_SHOWMAXIMIZED, 1) */
|
/* MinMaximize(hwnd, SW_SHOWMAXIMIZED, 1) */
|
||||||
|
|
||||||
POINT16 maxSize, maxPos, minTrack, maxTrack;
|
POINT16 maxSize, maxPos, minTrack, maxTrack;
|
||||||
NC_GetMinMaxInfo( hwnd, &maxSize, &maxPos, &minTrack, &maxTrack );
|
NC_GetMinMaxInfo( wndPtr, &maxSize, &maxPos, &minTrack, &maxTrack );
|
||||||
SetWindowPos( hwnd, 0, maxPos.x, maxPos.y, maxSize.x, maxSize.y,
|
SetWindowPos( hwnd, 0, maxPos.x, maxPos.y, maxSize.x, maxSize.y,
|
||||||
((GetActiveWindow())? SWP_NOACTIVATE : 0) | SWP_FRAMECHANGED );
|
((GetActiveWindow())? SWP_NOACTIVATE : 0) | SWP_FRAMECHANGED );
|
||||||
}
|
}
|
||||||
|
|
|
@ -621,7 +621,7 @@ BOOL ShowWindow( HWND hwnd, int cmd )
|
||||||
if (!(wndPtr->dwStyle & WS_MINIMIZE))
|
if (!(wndPtr->dwStyle & WS_MINIMIZE))
|
||||||
wndPtr->rectNormal = wndPtr->rectWindow;
|
wndPtr->rectNormal = wndPtr->rectWindow;
|
||||||
|
|
||||||
NC_GetMinMaxInfo( hwnd, &maxSize,
|
NC_GetMinMaxInfo( wndPtr, &maxSize,
|
||||||
&wndPtr->ptMaxPos, NULL, NULL );
|
&wndPtr->ptMaxPos, NULL, NULL );
|
||||||
x = wndPtr->ptMaxPos.x;
|
x = wndPtr->ptMaxPos.x;
|
||||||
y = wndPtr->ptMaxPos.y;
|
y = wndPtr->ptMaxPos.y;
|
||||||
|
@ -674,7 +674,7 @@ BOOL ShowWindow( HWND hwnd, int cmd )
|
||||||
if (wndPtr->flags & WIN_RESTORE_MAX)
|
if (wndPtr->flags & WIN_RESTORE_MAX)
|
||||||
{
|
{
|
||||||
/* Restore to maximized position */
|
/* Restore to maximized position */
|
||||||
NC_GetMinMaxInfo( hwnd, &maxSize, &wndPtr->ptMaxPos,
|
NC_GetMinMaxInfo( wndPtr, &maxSize, &wndPtr->ptMaxPos,
|
||||||
NULL, NULL );
|
NULL, NULL );
|
||||||
x = wndPtr->ptMaxPos.x;
|
x = wndPtr->ptMaxPos.x;
|
||||||
y = wndPtr->ptMaxPos.y;
|
y = wndPtr->ptMaxPos.y;
|
||||||
|
@ -891,44 +891,35 @@ BOOL32 SetWindowPlacement32( HWND32 hwnd, const WINDOWPLACEMENT32 *wndpl )
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* WINPOS_ForceXWindowRaise
|
* WINPOS_ForceXWindowRaise
|
||||||
|
*
|
||||||
|
* Raise a window on top of the X stacking order, while preserving
|
||||||
|
* the correct Windows Z order.
|
||||||
*/
|
*/
|
||||||
void WINPOS_ForceXWindowRaise( WND* pWnd )
|
static void WINPOS_ForceXWindowRaise( WND* pWnd )
|
||||||
{
|
{
|
||||||
XWindowChanges winChanges;
|
XWindowChanges winChanges;
|
||||||
WND *wndStop, *wndLast;
|
WND *wndPrev;
|
||||||
|
|
||||||
if (!pWnd->window) return;
|
/* Raise all windows up to pWnd according to their Z order.
|
||||||
|
|
||||||
wndLast = wndStop = pWnd;
|
|
||||||
winChanges.stack_mode = Above;
|
|
||||||
XReconfigureWMWindow( display, pWnd->window, 0, CWStackMode, &winChanges );
|
|
||||||
|
|
||||||
/* Recursively raise owned popups according to their z-order
|
|
||||||
* (it would be easier with sibling-related Below but it doesn't
|
* (it would be easier with sibling-related Below but it doesn't
|
||||||
* work very well with SGI mwm for instance)
|
* work very well with SGI mwm for instance)
|
||||||
*/
|
*/
|
||||||
while (wndLast)
|
winChanges.stack_mode = Above;
|
||||||
|
while (pWnd)
|
||||||
{
|
{
|
||||||
WND *wnd = WIN_GetDesktop()->child;
|
if (pWnd->window) XReconfigureWMWindow( display, pWnd->window, 0,
|
||||||
wndLast = NULL;
|
CWStackMode, &winChanges );
|
||||||
while (wnd != wndStop)
|
wndPrev = WIN_GetDesktop()->child;
|
||||||
{
|
if (wndPrev == pWnd) break;
|
||||||
if (wnd->owner == pWnd &&
|
while (wndPrev && (wndPrev->next != pWnd)) wndPrev = wndPrev->next;
|
||||||
(wnd->dwStyle & WS_POPUP) &&
|
pWnd = wndPrev;
|
||||||
(wnd->dwStyle & WS_VISIBLE))
|
|
||||||
wndLast = wnd;
|
|
||||||
wnd = wnd->next;
|
|
||||||
}
|
|
||||||
if (wndLast)
|
|
||||||
{
|
|
||||||
WINPOS_ForceXWindowRaise( wndLast );
|
|
||||||
wndStop = wndLast;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* WINPOS_SetActiveWindow
|
* WINPOS_SetActiveWindow
|
||||||
*
|
*
|
||||||
|
@ -1199,9 +1190,9 @@ LONG WINPOS_SendNCCalcSize( HWND32 hwnd, BOOL32 calcValidRect,
|
||||||
}
|
}
|
||||||
result = SendMessage16( hwnd, WM_NCCALCSIZE, calcValidRect,
|
result = SendMessage16( hwnd, WM_NCCALCSIZE, calcValidRect,
|
||||||
(LPARAM)SEGPTR_GET( params ) );
|
(LPARAM)SEGPTR_GET( params ) );
|
||||||
dprintf_win(stddeb, "WINPOS_SendNCCalcSize: %d %d %d %d\n",
|
dprintf_win( stddeb, "WINPOS_SendNCCalcSize: %d,%d-%d,%d\n",
|
||||||
(int)params->rgrc[0].top, (int)params->rgrc[0].left,
|
params->rgrc[0].left, params->rgrc[0].top,
|
||||||
(int)params->rgrc[0].bottom, (int)params->rgrc[0].right);
|
params->rgrc[0].right, params->rgrc[0].bottom );
|
||||||
*newClientRect = params->rgrc[0];
|
*newClientRect = params->rgrc[0];
|
||||||
SEGPTR_FREE(params);
|
SEGPTR_FREE(params);
|
||||||
return result;
|
return result;
|
||||||
|
@ -1220,7 +1211,7 @@ LONG WINPOS_HandleWindowPosChanging16( WND *wndPtr, WINDOWPOS16 *winpos )
|
||||||
if ((wndPtr->dwStyle & WS_THICKFRAME) ||
|
if ((wndPtr->dwStyle & WS_THICKFRAME) ||
|
||||||
((wndPtr->dwStyle & (WS_POPUP | WS_CHILD)) == 0))
|
((wndPtr->dwStyle & (WS_POPUP | WS_CHILD)) == 0))
|
||||||
{
|
{
|
||||||
NC_GetMinMaxInfo( winpos->hwnd, &maxSize, NULL, NULL, NULL );
|
NC_GetMinMaxInfo( wndPtr, &maxSize, NULL, NULL, NULL );
|
||||||
winpos->cx = MIN( winpos->cx, maxSize.x );
|
winpos->cx = MIN( winpos->cx, maxSize.x );
|
||||||
winpos->cy = MIN( winpos->cy, maxSize.y );
|
winpos->cy = MIN( winpos->cy, maxSize.y );
|
||||||
}
|
}
|
||||||
|
@ -1240,7 +1231,7 @@ LONG WINPOS_HandleWindowPosChanging32( WND *wndPtr, WINDOWPOS32 *winpos )
|
||||||
if ((wndPtr->dwStyle & WS_THICKFRAME) ||
|
if ((wndPtr->dwStyle & WS_THICKFRAME) ||
|
||||||
((wndPtr->dwStyle & (WS_POPUP | WS_CHILD)) == 0))
|
((wndPtr->dwStyle & (WS_POPUP | WS_CHILD)) == 0))
|
||||||
{
|
{
|
||||||
NC_GetMinMaxInfo( winpos->hwnd, &maxSize, NULL, NULL, NULL );
|
NC_GetMinMaxInfo( wndPtr, &maxSize, NULL, NULL, NULL );
|
||||||
winpos->cx = MIN( winpos->cx, maxSize.x );
|
winpos->cx = MIN( winpos->cx, maxSize.x );
|
||||||
winpos->cy = MIN( winpos->cy, maxSize.y );
|
winpos->cy = MIN( winpos->cy, maxSize.y );
|
||||||
}
|
}
|
||||||
|
@ -1387,7 +1378,7 @@ HWND WINPOS_ReorderOwnedPopups(HWND hwndInsertAfter, WND* wndPtr, WORD flags)
|
||||||
static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRect, LPRECT16 lpOldClientRect, UINT uFlags )
|
static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRect, LPRECT16 lpOldClientRect, UINT uFlags )
|
||||||
{
|
{
|
||||||
HRGN32 newVisRgn = DCE_GetVisRgn(Wnd->hwndSelf,DCX_WINDOW | DCX_CLIPSIBLINGS);
|
HRGN32 newVisRgn = DCE_GetVisRgn(Wnd->hwndSelf,DCX_WINDOW | DCX_CLIPSIBLINGS);
|
||||||
HRGN32 dirtyRgn = CreateRectRgn(0,0,0,0);
|
HRGN32 dirtyRgn = CreateRectRgn32(0,0,0,0);
|
||||||
int other, my;
|
int other, my;
|
||||||
|
|
||||||
dprintf_win(stddeb,"cleaning up...new wnd=(%i %i-%i %i) old wnd=(%i %i-%i %i)\n\
|
dprintf_win(stddeb,"cleaning up...new wnd=(%i %i-%i %i) old wnd=(%i %i-%i %i)\n\
|
||||||
|
@ -1401,28 +1392,29 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
(lpOldWndRect->bottom - lpOldWndRect->top) != (Wnd->rectWindow.bottom - Wnd->rectWindow.top) )
|
(lpOldWndRect->bottom - lpOldWndRect->top) != (Wnd->rectWindow.bottom - Wnd->rectWindow.top) )
|
||||||
uFlags |= SMC_DRAWFRAME;
|
uFlags |= SMC_DRAWFRAME;
|
||||||
|
|
||||||
CombineRgn( dirtyRgn, newVisRgn, 0, RGN_COPY);
|
CombineRgn32( dirtyRgn, newVisRgn, 0, RGN_COPY);
|
||||||
|
|
||||||
if( !(uFlags & SMC_NOCOPY) )
|
if( !(uFlags & SMC_NOCOPY) )
|
||||||
CombineRgn( newVisRgn, newVisRgn, oldVisRgn, RGN_AND );
|
CombineRgn32( newVisRgn, newVisRgn, oldVisRgn, RGN_AND );
|
||||||
|
|
||||||
/* map regions to the parent client area */
|
/* map regions to the parent client area */
|
||||||
|
|
||||||
OffsetRgn(dirtyRgn, Wnd->rectWindow.left, Wnd->rectWindow.top);
|
OffsetRgn32( dirtyRgn, Wnd->rectWindow.left, Wnd->rectWindow.top );
|
||||||
OffsetRgn(oldVisRgn, lpOldWndRect->left, lpOldWndRect->top);
|
OffsetRgn32( oldVisRgn, lpOldWndRect->left, lpOldWndRect->top );
|
||||||
|
|
||||||
/* compute invalidated region outside Wnd - (in client coordinates of the parent window) */
|
/* compute invalidated region outside Wnd - (in client coordinates of the parent window) */
|
||||||
|
|
||||||
other = CombineRgn(dirtyRgn, oldVisRgn, dirtyRgn, RGN_DIFF);
|
other = CombineRgn32(dirtyRgn, oldVisRgn, dirtyRgn, RGN_DIFF);
|
||||||
|
|
||||||
/* map visible region to the Wnd client area */
|
/* map visible region to the Wnd client area */
|
||||||
|
|
||||||
OffsetRgn( newVisRgn, Wnd->rectWindow.left - Wnd->rectClient.left,
|
OffsetRgn32( newVisRgn, Wnd->rectWindow.left - Wnd->rectClient.left,
|
||||||
Wnd->rectWindow.top - Wnd->rectClient.top );
|
Wnd->rectWindow.top - Wnd->rectClient.top );
|
||||||
|
|
||||||
/* substract previously invalidated region from the Wnd visible region */
|
/* substract previously invalidated region from the Wnd visible region */
|
||||||
|
|
||||||
my = (Wnd->hrgnUpdate > 1)? CombineRgn( newVisRgn, newVisRgn, Wnd->hrgnUpdate, RGN_DIFF)
|
my = (Wnd->hrgnUpdate > 1) ? CombineRgn32( newVisRgn, newVisRgn,
|
||||||
|
Wnd->hrgnUpdate, RGN_DIFF)
|
||||||
: COMPLEXREGION;
|
: COMPLEXREGION;
|
||||||
|
|
||||||
if( uFlags & SMC_NOCOPY ) /* invalidate Wnd visible region */
|
if( uFlags & SMC_NOCOPY ) /* invalidate Wnd visible region */
|
||||||
|
@ -1444,8 +1436,8 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
xfrom = lpOldClientRect->left; yfrom = lpOldClientRect->top;
|
xfrom = lpOldClientRect->left; yfrom = lpOldClientRect->top;
|
||||||
xto = Wnd->rectClient.left; yto = Wnd->rectClient.top;
|
xto = Wnd->rectClient.left; yto = Wnd->rectClient.top;
|
||||||
width = lpOldClientRect->right - xfrom; height = lpOldClientRect->bottom - yfrom;
|
width = lpOldClientRect->right - xfrom; height = lpOldClientRect->bottom - yfrom;
|
||||||
updateRgn = CreateRectRgn( 0, 0, width, height );
|
updateRgn = CreateRectRgn32( 0, 0, width, height );
|
||||||
CombineRgn( newVisRgn, newVisRgn, updateRgn, RGN_AND );
|
CombineRgn32( newVisRgn, newVisRgn, updateRgn, RGN_AND );
|
||||||
SetRectRgn( updateRgn, 0, 0, Wnd->rectClient.right - xto, Wnd->rectClient.bottom - yto );
|
SetRectRgn( updateRgn, 0, 0, Wnd->rectClient.right - xto, Wnd->rectClient.bottom - yto );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1453,17 +1445,17 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
xfrom = lpOldWndRect->left; yfrom = lpOldWndRect->top;
|
xfrom = lpOldWndRect->left; yfrom = lpOldWndRect->top;
|
||||||
xto = Wnd->rectWindow.left; yto = Wnd->rectWindow.top;
|
xto = Wnd->rectWindow.left; yto = Wnd->rectWindow.top;
|
||||||
width = lpOldWndRect->right - xfrom; height = lpOldWndRect->bottom - yfrom;
|
width = lpOldWndRect->right - xfrom; height = lpOldWndRect->bottom - yfrom;
|
||||||
updateRgn = CreateRectRgn( xto - Wnd->rectClient.left,
|
updateRgn = CreateRectRgn32( xto - Wnd->rectClient.left,
|
||||||
yto - Wnd->rectClient.top,
|
yto - Wnd->rectClient.top,
|
||||||
Wnd->rectWindow.right - Wnd->rectClient.left,
|
Wnd->rectWindow.right - Wnd->rectClient.left,
|
||||||
Wnd->rectWindow.bottom - Wnd->rectClient.top );
|
Wnd->rectWindow.bottom - Wnd->rectClient.top );
|
||||||
}
|
}
|
||||||
|
|
||||||
CombineRgn( newVisRgn, newVisRgn, updateRgn, RGN_AND );
|
CombineRgn32( newVisRgn, newVisRgn, updateRgn, RGN_AND );
|
||||||
|
|
||||||
/* substract new visRgn from target rect to get a region that won't be copied */
|
/* substract new visRgn from target rect to get a region that won't be copied */
|
||||||
|
|
||||||
update = CombineRgn( updateRgn, updateRgn, newVisRgn, RGN_DIFF );
|
update = CombineRgn32( updateRgn, updateRgn, newVisRgn, RGN_DIFF );
|
||||||
|
|
||||||
/* Blt valid bits using parent window DC */
|
/* Blt valid bits using parent window DC */
|
||||||
|
|
||||||
|
@ -1472,8 +1464,8 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
|
|
||||||
/* compute clipping region in parent client coordinates */
|
/* compute clipping region in parent client coordinates */
|
||||||
|
|
||||||
OffsetRgn( newVisRgn, Wnd->rectClient.left, Wnd->rectClient.top);
|
OffsetRgn32( newVisRgn, Wnd->rectClient.left, Wnd->rectClient.top );
|
||||||
CombineRgn( oldVisRgn, oldVisRgn, newVisRgn, RGN_OR );
|
CombineRgn32( oldVisRgn, oldVisRgn, newVisRgn, RGN_OR );
|
||||||
|
|
||||||
hDC = GetDCEx32( Wnd->parent->hwndSelf, oldVisRgn,
|
hDC = GetDCEx32( Wnd->parent->hwndSelf, oldVisRgn,
|
||||||
DCX_KEEPCLIPRGN | DCX_INTERSECTRGN |
|
DCX_KEEPCLIPRGN | DCX_INTERSECTRGN |
|
||||||
|
@ -1488,7 +1480,7 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
PAINT_RedrawWindow( Wnd->hwndSelf, NULL, updateRgn, RDW_INVALIDATE |
|
PAINT_RedrawWindow( Wnd->hwndSelf, NULL, updateRgn, RDW_INVALIDATE |
|
||||||
RDW_FRAME | RDW_ALLCHILDREN | RDW_ERASE, RDW_C_USEHRGN );
|
RDW_FRAME | RDW_ALLCHILDREN | RDW_ERASE, RDW_C_USEHRGN );
|
||||||
else if( uFlags & SMC_DRAWFRAME ) Wnd->flags |= WIN_NEEDS_NCPAINT;
|
else if( uFlags & SMC_DRAWFRAME ) Wnd->flags |= WIN_NEEDS_NCPAINT;
|
||||||
DeleteObject( updateRgn );
|
DeleteObject32( updateRgn );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* erase uncovered areas */
|
/* erase uncovered areas */
|
||||||
|
@ -1496,8 +1488,8 @@ static UINT WINPOS_SizeMoveClean(WND* Wnd, HRGN32 oldVisRgn, LPRECT16 lpOldWndRe
|
||||||
if( !(uFlags & SMC_NOPARENTERASE) && (other != NULLREGION ) )
|
if( !(uFlags & SMC_NOPARENTERASE) && (other != NULLREGION ) )
|
||||||
PAINT_RedrawWindow( Wnd->parent->hwndSelf, NULL, dirtyRgn,
|
PAINT_RedrawWindow( Wnd->parent->hwndSelf, NULL, dirtyRgn,
|
||||||
RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_ERASE, RDW_C_USEHRGN );
|
RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_ERASE, RDW_C_USEHRGN );
|
||||||
DeleteObject(dirtyRgn);
|
DeleteObject32(dirtyRgn);
|
||||||
DeleteObject(newVisRgn);
|
DeleteObject32(newVisRgn);
|
||||||
return uFlags;
|
return uFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1835,7 +1827,7 @@ BOOL SetWindowPos( HWND hwnd, HWND hwndInsertAfter, INT x, INT y,
|
||||||
if( winpos->flags & SWP_NOZORDER ) uFlags |= SMC_NOPARENTERASE;
|
if( winpos->flags & SWP_NOZORDER ) uFlags |= SMC_NOPARENTERASE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DeleteObject(visRgn);
|
DeleteObject32(visRgn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & SWP_SHOWWINDOW)
|
if (flags & SWP_SHOWWINDOW)
|
||||||
|
|
|
@ -1203,7 +1203,7 @@ void WINPROC_UnmapMsg32ATo16( UINT16 msg, WPARAM16 wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
LPSTR str = (LPSTR)PTR_SEG_TO_LIN(lParam);
|
LPSTR str = (LPSTR)PTR_SEG_TO_LIN(lParam);
|
||||||
lParam = *((LPARAM *)str - 1);
|
lParam = *((LPARAM *)str - 1);
|
||||||
strcpy( (LPSTR)lParam, str );
|
lstrcpyn32A( (LPSTR)lParam, str, wParam );
|
||||||
SEGPTR_FREE( (LPARAM *)str - 1 );
|
SEGPTR_FREE( (LPARAM *)str - 1 );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue