49 jobject GetColorModel(JNIEnv *env, 50 jboolean useDeviceSettings); 51 void Initialize(); 52 void UpdateDynamicColorModel(); 53 BOOL UpdateSystemPalette(); 54 unsigned int *GetSystemPaletteEntries(); 55 unsigned char *GetSystemInverseLUT(); 56 void SetJavaDevice(JNIEnv *env, jobject objPtr); 57 HPALETTE SelectPalette(HDC hDC); 58 void RealizePalette(HDC hDC); 59 HPALETTE GetPalette(); 60 ColorData *GetColorData() { return cData; } 61 int GetBitDepth() { return colorData->bitsperpixel; } 62 HMONITOR GetMonitor() { return monitor; } 63 LPMONITORINFO GetMonitorInfo() { return pMonitorInfo; } 64 jobject GetJavaDevice() { return javaDevice; } 65 int GetDeviceIndex() { return screen; } 66 void Release(); 67 void DisableOffscreenAcceleration(); 68 void Invalidate(JNIEnv *env); 69 70 static int DeviceIndexForWindow(HWND hWnd); 71 static jobject GetColorModel(JNIEnv *env, jboolean dynamic, 72 int deviceIndex); 73 static HPALETTE SelectPalette(HDC hDC, int deviceIndex); 74 static void RealizePalette(HDC hDC, int deviceIndex); 75 static ColorData *GetColorData(int deviceIndex); 76 static int GetGrayness(int deviceIndex); 77 static void UpdateDynamicColorModel(int deviceIndex); 78 static BOOL UpdateSystemPalette(int deviceIndex); 79 static HPALETTE GetPalette(int deviceIndex); 80 static HMONITOR GetMonitor(int deviceIndex); 81 static LPMONITORINFO GetMonitorInfo(int deviceIndex); 82 static void ResetAllMonitorInfo(); 83 static BOOL IsPrimaryPalettized() { return primaryPalettized; } 84 static int GetDefaultDeviceIndex() { return primaryIndex; } 85 static void DisableOffscreenAccelerationForDevice(HMONITOR hMonitor); 86 static HDC GetDCFromScreen(int screen); 87 static int GetScreenFromHMONITOR(HMONITOR mon); 88 90 static BOOL primaryPalettized; 91 static jclass indexCMClass; 92 static jclass wToolkitClass; 93 static jfieldID dynamicColorModelID; 94 static jfieldID indexCMrgbID; 95 static jfieldID indexCMcacheID; 96 static jmethodID paletteChangedMID; 97 98 private: 99 static BOOL AreSameMonitors(HMONITOR mon1, HMONITOR mon2); 100 ImgColorData *colorData; 101 AwtPalette *palette; 102 ColorData *cData; // Could be static, but may sometime 103 // have per-device info in this structure 104 BITMAPINFO *gpBitmapInfo; 105 int screen; 106 HMONITOR monitor; 107 LPMONITORINFO pMonitorInfo; 108 jobject javaDevice; 109 Devices *devicesArray; 110 111 static HDC MakeDCFromMonitor(HMONITOR); 112 }; 113 114 #endif AWT_WIN32GRAPHICSDEVICE_H | 49 jobject GetColorModel(JNIEnv *env, 50 jboolean useDeviceSettings); 51 void Initialize(); 52 void UpdateDynamicColorModel(); 53 BOOL UpdateSystemPalette(); 54 unsigned int *GetSystemPaletteEntries(); 55 unsigned char *GetSystemInverseLUT(); 56 void SetJavaDevice(JNIEnv *env, jobject objPtr); 57 HPALETTE SelectPalette(HDC hDC); 58 void RealizePalette(HDC hDC); 59 HPALETTE GetPalette(); 60 ColorData *GetColorData() { return cData; } 61 int GetBitDepth() { return colorData->bitsperpixel; } 62 HMONITOR GetMonitor() { return monitor; } 63 LPMONITORINFO GetMonitorInfo() { return pMonitorInfo; } 64 jobject GetJavaDevice() { return javaDevice; } 65 int GetDeviceIndex() { return screen; } 66 void Release(); 67 void DisableOffscreenAcceleration(); 68 void Invalidate(JNIEnv *env); 69 void InitDesktopScales(); 70 void SetScale(float scaleX, float scaleY); 71 float GetScaleX(); 72 float GetScaleY(); 73 int ScaleUpX(int x); 74 int ScaleUpY(int y); 75 int ScaleDownX(int x); 76 int ScaleDownY(int y); 77 78 static int DeviceIndexForWindow(HWND hWnd); 79 static jobject GetColorModel(JNIEnv *env, jboolean dynamic, 80 int deviceIndex); 81 static HPALETTE SelectPalette(HDC hDC, int deviceIndex); 82 static void RealizePalette(HDC hDC, int deviceIndex); 83 static ColorData *GetColorData(int deviceIndex); 84 static int GetGrayness(int deviceIndex); 85 static void UpdateDynamicColorModel(int deviceIndex); 86 static BOOL UpdateSystemPalette(int deviceIndex); 87 static HPALETTE GetPalette(int deviceIndex); 88 static HMONITOR GetMonitor(int deviceIndex); 89 static LPMONITORINFO GetMonitorInfo(int deviceIndex); 90 static void ResetAllMonitorInfo(); 91 static BOOL IsPrimaryPalettized() { return primaryPalettized; } 92 static int GetDefaultDeviceIndex() { return primaryIndex; } 93 static void DisableOffscreenAccelerationForDevice(HMONITOR hMonitor); 94 static HDC GetDCFromScreen(int screen); 95 static int GetScreenFromHMONITOR(HMONITOR mon); 96 98 static BOOL primaryPalettized; 99 static jclass indexCMClass; 100 static jclass wToolkitClass; 101 static jfieldID dynamicColorModelID; 102 static jfieldID indexCMrgbID; 103 static jfieldID indexCMcacheID; 104 static jmethodID paletteChangedMID; 105 106 private: 107 static BOOL AreSameMonitors(HMONITOR mon1, HMONITOR mon2); 108 ImgColorData *colorData; 109 AwtPalette *palette; 110 ColorData *cData; // Could be static, but may sometime 111 // have per-device info in this structure 112 BITMAPINFO *gpBitmapInfo; 113 int screen; 114 HMONITOR monitor; 115 LPMONITORINFO pMonitorInfo; 116 jobject javaDevice; 117 Devices *devicesArray; 118 float scaleX; 119 float scaleY; 120 121 static HDC MakeDCFromMonitor(HMONITOR); 122 }; 123 124 #endif AWT_WIN32GRAPHICSDEVICE_H |