115 if (m_grefThis) {
116 GetEnv()->DeleteGlobalRef(m_grefThis);
117 }
118 if (m_clipboard) {
119 GetEnv()->DeleteGlobalRef(m_clipboard);
120 }
121 }
122
123 LPCTSTR GlassApplication::GetWindowClassNameSuffix()
124 {
125 return szGlassToolkitWindow;
126 }
127
128 jstring GlassApplication::GetThemeName(JNIEnv* env)
129 {
130 HIGHCONTRAST contrastInfo;
131 contrastInfo.cbSize = sizeof(HIGHCONTRAST);
132 ::SystemParametersInfo(SPI_GETHIGHCONTRAST, sizeof(HIGHCONTRAST), &contrastInfo, 0);
133 if (contrastInfo.dwFlags & HCF_HIGHCONTRASTON) {
134 jsize length = (jsize) wcslen(contrastInfo.lpszDefaultScheme);
135 return env->NewString((jchar*)contrastInfo.lpszDefaultScheme, length);
136 }
137 return NULL;
138 }
139
140 LRESULT GlassApplication::WindowProc(UINT msg, WPARAM wParam, LPARAM lParam)
141 {
142 switch (msg) {
143 case WM_DO_ACTION:
144 case WM_DO_ACTION_LATER:
145 {
146 Action * action = (Action *)wParam;
147 action->Do();
148 if (msg == WM_DO_ACTION_LATER) {
149 delete action;
150 }
151 }
152 return 0;
153 case WM_CREATE:
154 pInstance = this;
155 STRACE(_T("GlassApplication: created."));
|
115 if (m_grefThis) {
116 GetEnv()->DeleteGlobalRef(m_grefThis);
117 }
118 if (m_clipboard) {
119 GetEnv()->DeleteGlobalRef(m_clipboard);
120 }
121 }
122
123 LPCTSTR GlassApplication::GetWindowClassNameSuffix()
124 {
125 return szGlassToolkitWindow;
126 }
127
128 jstring GlassApplication::GetThemeName(JNIEnv* env)
129 {
130 HIGHCONTRAST contrastInfo;
131 contrastInfo.cbSize = sizeof(HIGHCONTRAST);
132 ::SystemParametersInfo(SPI_GETHIGHCONTRAST, sizeof(HIGHCONTRAST), &contrastInfo, 0);
133 if (contrastInfo.dwFlags & HCF_HIGHCONTRASTON) {
134 jsize length = (jsize) wcslen(contrastInfo.lpszDefaultScheme);
135 jstring jstr = env->NewString((jchar*) contrastInfo.lpszDefaultScheme, length);
136 if (CheckAndClearException(env)) return NULL;
137 return jstr;
138 }
139 return NULL;
140 }
141
142 LRESULT GlassApplication::WindowProc(UINT msg, WPARAM wParam, LPARAM lParam)
143 {
144 switch (msg) {
145 case WM_DO_ACTION:
146 case WM_DO_ACTION_LATER:
147 {
148 Action * action = (Action *)wParam;
149 action->Do();
150 if (msg == WM_DO_ACTION_LATER) {
151 delete action;
152 }
153 }
154 return 0;
155 case WM_CREATE:
156 pInstance = this;
157 STRACE(_T("GlassApplication: created."));
|