258 INLINE static BOOL GetRTL() {
259 return sm_rtl;
260 }
261 // returns the current sub language
262 INLINE static LANGID GetSubLanguage() {
263 return SUBLANGID(m_idLang);
264 }
265 // end waleed
266
267 // returns the current input language
268 INLINE static LANGID GetInputLanguage()
269 {
270 return m_idLang;
271 }
272 // Convert Language ID to CodePage
273 static UINT LangToCodePage(LANGID idLang);
274
275 /*
276 * methods on this component
277 */
278 virtual void Show();
279 virtual void Hide();
280 virtual void Reshape(int x, int y, int w, int h);
281 void ReshapeNoScale(int x, int y, int w, int h);
282
283 /*
284 * Fix for 4046446.
285 * Component size/position helper, for the values above the short int limit.
286 */
287 static BOOL SetWindowPos(HWND wnd, HWND after,
288 int x, int y, int w, int h, UINT flags);
289
290 /*
291 * Sets the scrollbar values. 'bar' can be either SB_VERT or
292 * SB_HORZ. 'min', 'value', and 'max' can have the value INT_MAX
293 * which means that the value should not be changed.
294 */
295 void SetScrollValues(UINT bar, int min, int value, int max);
296
297 INLINE LRESULT SendMessage(UINT msg, WPARAM wParam=0, LPARAM lParam=0) {
738 static BOOL sm_restoreFocusAndActivation;
739
740 /*
741 * The function sets the focus-restore flag ON/OFF.
742 * When the flag is ON, focus is restored immidiately after the proxy loses it.
743 * All focus messages are suppressed. It's also assumed that sm_focusedWindow and
744 * sm_focusOwner don't change after the flag is set ON and before it's set OFF.
745 */
746 static INLINE void SetRestoreFocus(BOOL doSet) {
747 sm_suppressFocusAndActivation = doSet;
748 sm_restoreFocusAndActivation = doSet;
749 }
750
751 virtual void SetDragCapture(UINT flags);
752 virtual void ReleaseDragCapture(UINT flags);
753
754 virtual void FillBackground(HDC hMemoryDC, SIZE &size);
755 virtual void FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha);
756
757 int ScaleUpX(int x);
758 int ScaleUpY(int y);
759 int ScaleDownX(int x);
760 int ScaleDownY(int y);
761
762 private:
763 /* A bitmask keeps the button's numbers as MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
764 * which are allowed to
765 * generate the CLICK event after the RELEASE has happened.
766 * There are conditions that must be true for that sending CLICK event:
767 * 1) button was initially PRESSED
768 * 2) no movement or drag has happened until RELEASE
769 */
770 UINT m_mouseButtonClickAllowed;
771
772 BOOL m_touchDownOccurred;
773 BOOL m_touchUpOccurred;
774 POINT m_touchDownPoint;
775 POINT m_touchUpPoint;
776
777 BOOL m_bSubclassed;
778 BOOL m_bPauseDestroy;
779
780 COLORREF m_colorForeground;
|
258 INLINE static BOOL GetRTL() {
259 return sm_rtl;
260 }
261 // returns the current sub language
262 INLINE static LANGID GetSubLanguage() {
263 return SUBLANGID(m_idLang);
264 }
265 // end waleed
266
267 // returns the current input language
268 INLINE static LANGID GetInputLanguage()
269 {
270 return m_idLang;
271 }
272 // Convert Language ID to CodePage
273 static UINT LangToCodePage(LANGID idLang);
274
275 /*
276 * methods on this component
277 */
278 virtual int GetScreenImOn();
279 virtual void Show();
280 virtual void Hide();
281 virtual void Reshape(int x, int y, int w, int h);
282 void ReshapeNoScale(int x, int y, int w, int h);
283
284 /*
285 * Fix for 4046446.
286 * Component size/position helper, for the values above the short int limit.
287 */
288 static BOOL SetWindowPos(HWND wnd, HWND after,
289 int x, int y, int w, int h, UINT flags);
290
291 /*
292 * Sets the scrollbar values. 'bar' can be either SB_VERT or
293 * SB_HORZ. 'min', 'value', and 'max' can have the value INT_MAX
294 * which means that the value should not be changed.
295 */
296 void SetScrollValues(UINT bar, int min, int value, int max);
297
298 INLINE LRESULT SendMessage(UINT msg, WPARAM wParam=0, LPARAM lParam=0) {
739 static BOOL sm_restoreFocusAndActivation;
740
741 /*
742 * The function sets the focus-restore flag ON/OFF.
743 * When the flag is ON, focus is restored immidiately after the proxy loses it.
744 * All focus messages are suppressed. It's also assumed that sm_focusedWindow and
745 * sm_focusOwner don't change after the flag is set ON and before it's set OFF.
746 */
747 static INLINE void SetRestoreFocus(BOOL doSet) {
748 sm_suppressFocusAndActivation = doSet;
749 sm_restoreFocusAndActivation = doSet;
750 }
751
752 virtual void SetDragCapture(UINT flags);
753 virtual void ReleaseDragCapture(UINT flags);
754
755 virtual void FillBackground(HDC hMemoryDC, SIZE &size);
756 virtual void FillAlpha(void *bitmapBits, SIZE &size, BYTE alpha);
757
758 int ScaleUpX(int x);
759 int ScaleUpAbsX(int x);
760 int ScaleUpY(int y);
761 int ScaleUpAbsY(int y);
762 int ScaleDownX(int x);
763 int ScaleDownAbsX(int x);
764 int ScaleDownY(int y);
765 int ScaleDownAbsY(int y);
766
767 private:
768 /* A bitmask keeps the button's numbers as MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
769 * which are allowed to
770 * generate the CLICK event after the RELEASE has happened.
771 * There are conditions that must be true for that sending CLICK event:
772 * 1) button was initially PRESSED
773 * 2) no movement or drag has happened until RELEASE
774 */
775 UINT m_mouseButtonClickAllowed;
776
777 BOOL m_touchDownOccurred;
778 BOOL m_touchUpOccurred;
779 POINT m_touchDownPoint;
780 POINT m_touchUpPoint;
781
782 BOOL m_bSubclassed;
783 BOOL m_bPauseDestroy;
784
785 COLORREF m_colorForeground;
|