Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/ghost/intern/GHOST_WindowWin32.h')
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.h68
1 files changed, 44 insertions, 24 deletions
diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h
index 7b12d8c583e..1eaef243df9 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.h
+++ b/intern/ghost/intern/GHOST_WindowWin32.h
@@ -39,6 +39,9 @@
#include "GHOST_Window.h"
#include "GHOST_TaskbarWin32.h"
+#ifdef WITH_INPUT_IME
+# include "GHOST_ImeWin32.h"
+#endif
#include <wintab.h>
#define PACKETDATA (PK_BUTTONS | PK_NORMAL_PRESSURE | PK_ORIENTATION | PK_CURSOR)
@@ -87,6 +90,7 @@ public:
GHOST_TWindowState state,
GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone,
bool wantStereoVisual = false,
+ bool warnOld = false,
GHOST_TUns16 wantNumOfAASamples = 0,
GHOST_TEmbedderWindowID parentWindowHwnd = 0
);
@@ -95,70 +99,70 @@ public:
* Destructor.
* Closes the window and disposes resources allocated.
*/
- virtual ~GHOST_WindowWin32();
+ ~GHOST_WindowWin32();
/**
* Returns indication as to whether the window is valid.
* \return The validity of the window.
*/
- virtual bool getValid() const;
+ bool getValid() const;
/**
* Access to the handle of the window.
* \return The handle of the window.
*/
- virtual HWND getHWND() const;
+ HWND getHWND() const;
/**
* Sets the title displayed in the title bar.
* \param title The title to display in the title bar.
*/
- virtual void setTitle(const STR_String& title);
+ void setTitle(const STR_String& title);
/**
* Returns the title displayed in the title bar.
* \param title The title displayed in the title bar.
*/
- virtual void getTitle(STR_String& title) const;
+ void getTitle(STR_String& title) const;
/**
* Returns the window rectangle dimensions.
* The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.
* \param bounds The bounding rectangle of the window.
*/
- virtual void getWindowBounds(GHOST_Rect& bounds) const;
+ void getWindowBounds(GHOST_Rect& bounds) const;
/**
* Returns the client rectangle dimensions.
* The left and top members of the rectangle are always zero.
* \param bounds The bounding rectangle of the client area of the window.
*/
- virtual void getClientBounds(GHOST_Rect& bounds) const;
+ void getClientBounds(GHOST_Rect& bounds) const;
/**
* Resizes client rectangle width.
* \param width The new width of the client area of the window.
*/
- virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width);
+ GHOST_TSuccess setClientWidth(GHOST_TUns32 width);
/**
* Resizes client rectangle height.
* \param height The new height of the client area of the window.
*/
- virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height);
+ GHOST_TSuccess setClientHeight(GHOST_TUns32 height);
/**
* Resizes client rectangle.
* \param width The new width of the client area of the window.
* \param height The new height of the client area of the window.
*/
- virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height);
+ GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height);
/**
* Returns the state of the window (normal, minimized, maximized).
* \return The state of the window.
*/
- virtual GHOST_TWindowState getState() const;
+ GHOST_TWindowState getState() const;
/**
* Converts a point in screen coordinates to client rectangle coordinates
@@ -167,7 +171,7 @@ public:
* \param outX The x-coordinate in the client rectangle.
* \param outY The y-coordinate in the client rectangle.
*/
- virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+ void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
/**
* Converts a point in screen coordinates to client rectangle coordinates
@@ -176,39 +180,39 @@ public:
* \param outX The x-coordinate on the screen.
* \param outY The y-coordinate on the screen.
*/
- virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+ void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
/**
* Sets the state of the window (normal, minimized, maximized).
* \param state The state of the window.
* \return Indication of success.
*/
- virtual GHOST_TSuccess setState(GHOST_TWindowState state);
+ GHOST_TSuccess setState(GHOST_TWindowState state);
/**
* Sets the order of the window (bottom, top).
* \param order The order of the window.
* \return Indication of success.
*/
- virtual GHOST_TSuccess setOrder(GHOST_TWindowOrder order);
+ GHOST_TSuccess setOrder(GHOST_TWindowOrder order);
/**
/**
* Invalidates the contents of this window.
*/
- virtual GHOST_TSuccess invalidate();
+ GHOST_TSuccess invalidate();
/**
* Sets the progress bar value displayed in the window/application icon
* \param progress The progress %
*/
- virtual GHOST_TSuccess setProgressBar(float progress);
+ GHOST_TSuccess setProgressBar(float progress);
/**
* Hides the progress bar in the icon
*/
- virtual GHOST_TSuccess endProgressBar();
+ GHOST_TSuccess endProgressBar();
/**
@@ -253,42 +257,53 @@ public:
/** if the window currently resizing */
bool m_inLiveResize;
+#ifdef WITH_INPUT_IME
+ GHOST_ImeWin32 *getImeInput() {return &m_imeImput;}
+
+ void beginIME(
+ GHOST_TInt32 x, GHOST_TInt32 y,
+ GHOST_TInt32 w, GHOST_TInt32 h,
+ int completed);
+
+ void endIME();
+#endif /* WITH_INPUT_IME */
+
private:
/**
* \param type The type of rendering context create.
* \return Indication of success.
*/
- virtual GHOST_Context *newDrawingContext(GHOST_TDrawingContextType type);
+ GHOST_Context *newDrawingContext(GHOST_TDrawingContextType type);
/**
* Sets the cursor visibility on the window using
* native window system calls.
*/
- virtual GHOST_TSuccess setWindowCursorVisibility(bool visible);
+ GHOST_TSuccess setWindowCursorVisibility(bool visible);
/**
* Sets the cursor grab on the window using native window system calls.
* Using registerMouseClickEvent.
* \param mode GHOST_TGrabCursorMode.
*/
- virtual GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode mode);
+ GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode mode);
/**
* Sets the cursor shape on the window using
* native window system calls.
*/
- virtual GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
+ GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
/**
* Sets the cursor shape on the window using
* native window system calls.
*/
- virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
+ GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX, int hotY);
- virtual GHOST_TSuccess setWindowCustomCursorShape(
+ GHOST_TSuccess setWindowCustomCursorShape(
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
@@ -339,6 +354,11 @@ private:
/** Hwnd to parent window */
GHOST_TEmbedderWindowID m_parentWindowHwnd;
+
+#ifdef WITH_INPUT_IME
+ /** Handle input method editors event */
+ GHOST_ImeWin32 m_imeImput;
+#endif
};
#endif // __GHOST_WINDOWWIN32_H__