1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/********************************************************************************************
Clean OS Windows library module version 1.2.1.
This module is part of the Clean Object I/O library, version 1.2.1,
for the Windows platform.
********************************************************************************************/
/********************************************************************************************
About this module:
Routines related to window/dialog handling.
********************************************************************************************/
#include "cCCallWindows_121.h"
#include "cCrossCallWindows_121.h"
void WinInvalidateWindow (GtkWidget *widget)
{
gtk_widget_queue_draw(widget);
}
void WinInvalidateRect (GtkWidget *widget, int left, int top, int right, int bottom)
{
gtk_widget_queue_draw_area(widget,left,top,right-left,bottom-top);
}
void WinValidateRect (GtkWidget *widget, int left, int top, int right, int bottom)
{
/* RECT rect;
rect.left = left;
rect.top = top;
rect.right = right;
rect.bottom = bottom;
ValidateRect ((HWND) hwnd, &rect);*/
printf("WinValidateRect -> not implemented\n");
}
void WinValidateRgn (GtkWidget *widget, GdkRegion *region)
{
// ValidateRgn ((HWND) hwnd, (HRGN) rgn);
printf("WinValidateRgn -> not implemented\n");
}
/* Win(M/S)DIClientToOuterSizeDims returns the width and height needed to add/subtract
from the client/outer size to obtain the outer/client size.
These values must be the same as used by W95AdjustClean(M/S)DIWindowDimensions!
*/
void WinMDIClientToOuterSizeDims (int styleFlags, int *dw, int *dh)
{
/* if ((styleFlags&WS_THICKFRAME) != 0)
{ // resizable window
*dw = 2 * GetSystemMetrics (SM_CXSIZEFRAME);
*dh = 2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
} else
{ // fixed size window
*dw = 2 * GetSystemMetrics (SM_CXFIXEDFRAME);
*dh = 2 * GetSystemMetrics (SM_CYFIXEDFRAME) + GetSystemMetrics (SM_CYCAPTION);
}
*/
*dw = 0;
*dh = 0;
printf("WinMDIClientOuterSizeDims -> not implemented\n");
}
void WinSDIClientToOuterSizeDims (int styleFlags, int *dw, int *dh)
{
*dw = 0; //2 * GetSystemMetrics (SM_CXSIZEFRAME);
*dh = 0; //2 * GetSystemMetrics (SM_CYSIZEFRAME) + GetSystemMetrics (SM_CYCAPTION);
printf("WinSDIClientOuterSizeDims -> not implemented\n");
}
/* UpdateWindowScrollbars updates any window scrollbars and non-client area if present.
Uses the following access procedures to the GWL_STYLE of a windowhandle:
GetGWL_STYLE (hwnd) returns the GWL_STYLE value of hwnd;
WindowHasHScroll (hwnd) returns TRUE iff hwnd has a horizontal scrollbar;
WindowHasVScroll (hwnd) returns TRUE iff hwnd has a vertical scrollbar;
*/
void UpdateWindowScrollbars (GtkWidget *widget)
{
/* int w,h;
RECT rect;
GetWindowRect (hwnd, &rect);
w = rect.right -rect.left;
h = rect.bottom-rect.top;
if (WindowHasHScroll (hwnd))
{
rect.left = 0;
rect.top = h-GetSystemMetrics (SM_CYHSCROLL);
rect.right = w;
rect.bottom = h;
InvalidateRect (hwnd,&rect,FALSE);
RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
ValidateRect (hwnd,&rect);
}
if (WindowHasVScroll (hwnd))
{
rect.left = w-GetSystemMetrics (SM_CXVSCROLL);
rect.top = 0;
rect.right = w;
rect.bottom = h;
InvalidateRect (hwnd,&rect,FALSE);
RedrawWindow (hwnd,&rect,NULL,RDW_FRAME | RDW_VALIDATE | RDW_UPDATENOW | RDW_NOCHILDREN);
ValidateRect (hwnd,&rect);
}
*/
printf("UpdateWindowScrollbars -> not implemented\n");
}
int WinScreenYSize ()
{
return gdk_screen_height();
}
int WinScreenXSize ()
{
return gdk_screen_width();
}
void WinMinimumWinSize (int *mx, int *my)
{
*mx = 48;
*my = 0;
}
/* WinScrollbarSize determines system metrics of width and height of scrollbars.
*/
void WinScrollbarSize (int *width, int *height)
{
printf ("WinScrollbarSize -> not implemented\n");
*width = 0; //GetSystemMetrics (SM_CXVSCROLL);
*height = 0; //GetSystemMetrics (SM_CYHSCROLL);
}
void WinMaxFixedWindowSize (int *mx, int *my)
{
*mx = gdk_screen_width();
*my = gdk_screen_height();
}
void WinMaxScrollWindowSize (int *mx, int *my)
{
*mx = gdk_screen_width();
*my = gdk_screen_height();
}
|