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:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /intern/ghost/GHOST_ISystem.h
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'intern/ghost/GHOST_ISystem.h')
-rw-r--r--intern/ghost/GHOST_ISystem.h657
1 files changed, 331 insertions, 326 deletions
diff --git a/intern/ghost/GHOST_ISystem.h b/intern/ghost/GHOST_ISystem.h
index c640b016a5e..66e37a525c0 100644
--- a/intern/ghost/GHOST_ISystem.h
+++ b/intern/ghost/GHOST_ISystem.h
@@ -128,338 +128,343 @@ class GHOST_IEventConsumer;
* -# Menus for windows with events generated when they are accessed (this is
* work in progress).
*/
-class GHOST_ISystem
-{
-public:
- /**
- * Creates the one and only system.
- * \return An indication of success.
- */
- static GHOST_TSuccess createSystem();
-
- /**
- * Disposes the one and only system.
- * \return An indication of success.
- */
- static GHOST_TSuccess disposeSystem();
-
- /**
- * Returns a pointer to the one and only system (nil if it hasn't been created).
- * \return A pointer to the system.
- */
- static GHOST_ISystem *getSystem();
-
-protected:
- /**
- * Constructor.
- * Protected default constructor to force use of static createSystem member.
- */
- GHOST_ISystem() {
- }
-
- /**
- * Destructor.
- * Protected default constructor to force use of static dispose member.
- */
- virtual ~GHOST_ISystem() {
- }
-
-public:
- /***************************************************************************************
- * Time(r) functionality
- ***************************************************************************************/
-
- /**
- * Returns the system time.
- * Returns the number of milliseconds since the start of the system process.
- * Based on ANSI clock() routine.
- * \return The number of milliseconds.
- */
- virtual GHOST_TUns64 getMilliSeconds() const = 0;
-
- /**
- * Installs a timer.
- * Note that, on most operating systems, messages need to be processed in order
- * for the timer callbacks to be invoked.
- * \param delay The time to wait for the first call to the timerProc (in milliseconds)
- * \param interval The interval between calls to the timerProc (in milliseconds)
- * \param timerProc The callback invoked when the interval expires,
- * \param userData Placeholder for user data.
- * \return A timer task (0 if timer task installation failed).
- */
- virtual GHOST_ITimerTask *installTimer(GHOST_TUns64 delay,
- GHOST_TUns64 interval,
- GHOST_TimerProcPtr timerProc,
- GHOST_TUserDataPtr userData = NULL) = 0;
-
- /**
- * Removes a timer.
- * \param timerTask Timer task to be removed.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask *timerTask) = 0;
-
- /***************************************************************************************
- * Display/window management functionality
- ***************************************************************************************/
-
- /**
- * Returns the number of displays on this system.
- * \return The number of displays.
- */
- virtual GHOST_TUns8 getNumDisplays() const = 0;
-
- /**
- * Returns the dimensions of the main display on this system.
- * \return The dimension of the main display.
- */
- virtual void getMainDisplayDimensions(GHOST_TUns32& width, GHOST_TUns32& height) const = 0;
-
- /**
- * Returns the combine dimensions of all monitors.
- * \return The dimension of the workspace.
- */
- virtual void getAllDisplayDimensions(GHOST_TUns32& width, GHOST_TUns32& height) const = 0;
-
- /**
- * Create a new window.
- * The new window is added to the list of windows managed.
- * Never explicitly delete the window, use disposeWindow() instead.
- * \param title The name of the window (displayed in the title bar of the window if the OS supports it).
- * \param left The coordinate of the left edge of the window.
- * \param top The coordinate of the top edge of the window.
- * \param width The width the window.
- * \param height The height the window.
- * \param state The state of the window when opened.
- * \param type The type of drawing context installed in this window.
- * \param glSettings: Misc OpenGL settings.
- * \param exclusive: Use to show the window ontop and ignore others (used fullscreen).
- * \param parentWindow Parent (embedder) window
- * \return The new window (or 0 if creation failed).
- */
- virtual GHOST_IWindow *createWindow(
- const STR_String& title,
- GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height,
- GHOST_TWindowState state, GHOST_TDrawingContextType type,
- GHOST_GLSettings glSettings,
- const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0) = 0;
-
- /**
- * Dispose a window.
- * \param window Pointer to the window to be disposed.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess disposeWindow(GHOST_IWindow *window) = 0;
-
- /**
- * Create a new offscreen context.
- * Never explicitly delete the context, use disposeContext() instead.
- * \return The new context (or 0 if creation failed).
- */
- virtual GHOST_IContext *createOffscreenContext() = 0;
-
- /**
- * Dispose of a context.
- * \param context Pointer to the context to be disposed.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess disposeContext(GHOST_IContext *context) = 0;
-
- /**
- * Returns whether a window is valid.
- * \param window Pointer to the window to be checked.
- * \return Indication of validity.
- */
- virtual bool validWindow(GHOST_IWindow *window) = 0;
-
- /**
- * Begins full screen mode.
- * \param setting The new setting of the display.
- * \param window Window displayed in full screen.
- * This window is invalid after full screen has been ended.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess beginFullScreen(
- const GHOST_DisplaySetting& setting, GHOST_IWindow **window,
- const bool stereoVisual, const bool alphaBackground = 0, const GHOST_TUns16 numOfAASamples = 0) = 0;
-
- /**
- * Updates the resolution while in fullscreen mode.
- * \param setting The new setting of the display.
- * \param window Window displayed in full screen.
- *
- * \return Indication of success.
- */
- virtual GHOST_TSuccess updateFullScreen(
- const GHOST_DisplaySetting& setting, GHOST_IWindow **window) = 0;
-
- /**
- * Ends full screen mode.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess endFullScreen(void) = 0;
-
- /**
- * Returns current full screen mode status.
- * \return The current status.
- */
- virtual bool getFullScreen(void) = 0;
-
- /**
- * Native pixel size support (MacBook 'retina').
- */
- virtual bool useNativePixel(void) = 0;
-
- /**
- * Focus window after opening, or put them in the background.
- */
- virtual void useWindowFocus(const bool use_focus) = 0;
-
- /***************************************************************************************
- * Event management functionality
- ***************************************************************************************/
-
- /**
- * Retrieves events from the system and stores them in the queue.
- * \param waitForEvent Flag to wait for an event (or return immediately).
- * \return Indication of the presence of events.
- */
- virtual bool processEvents(bool waitForEvent) = 0;
-
- /**
- * Retrieves events from the queue and send them to the event consumers.
- */
- virtual void dispatchEvents() = 0;
-
- /**
- * Adds the given event consumer to our list.
- * \param consumer The event consumer to add.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer *consumer) = 0;
-
- /**
- * Removes the given event consumer to our list.
- * \param consumer The event consumer to remove.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer *consumer) = 0;
-
- /***************************************************************************************
- * Cursor management functionality
- ***************************************************************************************/
-
- /**
- * Returns the current location of the cursor (location in screen coordinates)
- * \param x The x-coordinate of the cursor.
- * \param y The y-coordinate of the cursor.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess getCursorPosition(GHOST_TInt32& x, GHOST_TInt32& y) const = 0;
-
- /**
- * Updates the location of the cursor (location in screen coordinates).
- * Not all operating systems allow the cursor to be moved (without the input device being moved).
- * \param x The x-coordinate of the cursor.
- * \param y The y-coordinate of the cursor.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y) = 0;
-
- /***************************************************************************************
- * Access to mouse button and keyboard states.
- ***************************************************************************************/
-
- /**
- * Returns the state of a modifier key (ouside the message queue).
- * \param mask The modifier key state to retrieve.
- * \param isDown The state of a modifier key (true == pressed).
- * \return Indication of success.
- */
- virtual GHOST_TSuccess getModifierKeyState(GHOST_TModifierKeyMask mask, bool& isDown) const = 0;
-
- /**
- * Returns the state of a mouse button (ouside the message queue).
- * \param mask The button state to retrieve.
- * \param isDown Button state.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool& isDown) const = 0;
-
- /**
- * Set which tablet API to use. Only affects Windows, other platforms have a single API.
- * \param api Enum indicating which API to use.
- */
- virtual void setTabletAPI(GHOST_TTabletAPI api) = 0;
+class GHOST_ISystem {
+ public:
+ /**
+ * Creates the one and only system.
+ * \return An indication of success.
+ */
+ static GHOST_TSuccess createSystem();
+
+ /**
+ * Disposes the one and only system.
+ * \return An indication of success.
+ */
+ static GHOST_TSuccess disposeSystem();
+
+ /**
+ * Returns a pointer to the one and only system (nil if it hasn't been created).
+ * \return A pointer to the system.
+ */
+ static GHOST_ISystem *getSystem();
+
+ protected:
+ /**
+ * Constructor.
+ * Protected default constructor to force use of static createSystem member.
+ */
+ GHOST_ISystem()
+ {
+ }
+
+ /**
+ * Destructor.
+ * Protected default constructor to force use of static dispose member.
+ */
+ virtual ~GHOST_ISystem()
+ {
+ }
+
+ public:
+ /***************************************************************************************
+ * Time(r) functionality
+ ***************************************************************************************/
+
+ /**
+ * Returns the system time.
+ * Returns the number of milliseconds since the start of the system process.
+ * Based on ANSI clock() routine.
+ * \return The number of milliseconds.
+ */
+ virtual GHOST_TUns64 getMilliSeconds() const = 0;
+
+ /**
+ * Installs a timer.
+ * Note that, on most operating systems, messages need to be processed in order
+ * for the timer callbacks to be invoked.
+ * \param delay The time to wait for the first call to the timerProc (in milliseconds)
+ * \param interval The interval between calls to the timerProc (in milliseconds)
+ * \param timerProc The callback invoked when the interval expires,
+ * \param userData Placeholder for user data.
+ * \return A timer task (0 if timer task installation failed).
+ */
+ virtual GHOST_ITimerTask *installTimer(GHOST_TUns64 delay,
+ GHOST_TUns64 interval,
+ GHOST_TimerProcPtr timerProc,
+ GHOST_TUserDataPtr userData = NULL) = 0;
+
+ /**
+ * Removes a timer.
+ * \param timerTask Timer task to be removed.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask *timerTask) = 0;
+
+ /***************************************************************************************
+ * Display/window management functionality
+ ***************************************************************************************/
+
+ /**
+ * Returns the number of displays on this system.
+ * \return The number of displays.
+ */
+ virtual GHOST_TUns8 getNumDisplays() const = 0;
+
+ /**
+ * Returns the dimensions of the main display on this system.
+ * \return The dimension of the main display.
+ */
+ virtual void getMainDisplayDimensions(GHOST_TUns32 &width, GHOST_TUns32 &height) const = 0;
+
+ /**
+ * Returns the combine dimensions of all monitors.
+ * \return The dimension of the workspace.
+ */
+ virtual void getAllDisplayDimensions(GHOST_TUns32 &width, GHOST_TUns32 &height) const = 0;
+
+ /**
+ * Create a new window.
+ * The new window is added to the list of windows managed.
+ * Never explicitly delete the window, use disposeWindow() instead.
+ * \param title The name of the window (displayed in the title bar of the window if the OS supports it).
+ * \param left The coordinate of the left edge of the window.
+ * \param top The coordinate of the top edge of the window.
+ * \param width The width the window.
+ * \param height The height the window.
+ * \param state The state of the window when opened.
+ * \param type The type of drawing context installed in this window.
+ * \param glSettings: Misc OpenGL settings.
+ * \param exclusive: Use to show the window ontop and ignore others (used fullscreen).
+ * \param parentWindow Parent (embedder) window
+ * \return The new window (or 0 if creation failed).
+ */
+ virtual GHOST_IWindow *createWindow(const STR_String &title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ GHOST_GLSettings glSettings,
+ const bool exclusive = false,
+ const GHOST_TEmbedderWindowID parentWindow = 0) = 0;
+
+ /**
+ * Dispose a window.
+ * \param window Pointer to the window to be disposed.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess disposeWindow(GHOST_IWindow *window) = 0;
+
+ /**
+ * Create a new offscreen context.
+ * Never explicitly delete the context, use disposeContext() instead.
+ * \return The new context (or 0 if creation failed).
+ */
+ virtual GHOST_IContext *createOffscreenContext() = 0;
+
+ /**
+ * Dispose of a context.
+ * \param context Pointer to the context to be disposed.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess disposeContext(GHOST_IContext *context) = 0;
+
+ /**
+ * Returns whether a window is valid.
+ * \param window Pointer to the window to be checked.
+ * \return Indication of validity.
+ */
+ virtual bool validWindow(GHOST_IWindow *window) = 0;
+
+ /**
+ * Begins full screen mode.
+ * \param setting The new setting of the display.
+ * \param window Window displayed in full screen.
+ * This window is invalid after full screen has been ended.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting &setting,
+ GHOST_IWindow **window,
+ const bool stereoVisual,
+ const bool alphaBackground = 0,
+ const GHOST_TUns16 numOfAASamples = 0) = 0;
+
+ /**
+ * Updates the resolution while in fullscreen mode.
+ * \param setting The new setting of the display.
+ * \param window Window displayed in full screen.
+ *
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess updateFullScreen(const GHOST_DisplaySetting &setting,
+ GHOST_IWindow **window) = 0;
+
+ /**
+ * Ends full screen mode.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess endFullScreen(void) = 0;
+
+ /**
+ * Returns current full screen mode status.
+ * \return The current status.
+ */
+ virtual bool getFullScreen(void) = 0;
+
+ /**
+ * Native pixel size support (MacBook 'retina').
+ */
+ virtual bool useNativePixel(void) = 0;
+
+ /**
+ * Focus window after opening, or put them in the background.
+ */
+ virtual void useWindowFocus(const bool use_focus) = 0;
+
+ /***************************************************************************************
+ * Event management functionality
+ ***************************************************************************************/
+
+ /**
+ * Retrieves events from the system and stores them in the queue.
+ * \param waitForEvent Flag to wait for an event (or return immediately).
+ * \return Indication of the presence of events.
+ */
+ virtual bool processEvents(bool waitForEvent) = 0;
+
+ /**
+ * Retrieves events from the queue and send them to the event consumers.
+ */
+ virtual void dispatchEvents() = 0;
+
+ /**
+ * Adds the given event consumer to our list.
+ * \param consumer The event consumer to add.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer *consumer) = 0;
+
+ /**
+ * Removes the given event consumer to our list.
+ * \param consumer The event consumer to remove.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer *consumer) = 0;
+
+ /***************************************************************************************
+ * Cursor management functionality
+ ***************************************************************************************/
+
+ /**
+ * Returns the current location of the cursor (location in screen coordinates)
+ * \param x The x-coordinate of the cursor.
+ * \param y The y-coordinate of the cursor.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess getCursorPosition(GHOST_TInt32 &x, GHOST_TInt32 &y) const = 0;
+
+ /**
+ * Updates the location of the cursor (location in screen coordinates).
+ * Not all operating systems allow the cursor to be moved (without the input device being moved).
+ * \param x The x-coordinate of the cursor.
+ * \param y The y-coordinate of the cursor.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y) = 0;
+
+ /***************************************************************************************
+ * Access to mouse button and keyboard states.
+ ***************************************************************************************/
+
+ /**
+ * Returns the state of a modifier key (ouside the message queue).
+ * \param mask The modifier key state to retrieve.
+ * \param isDown The state of a modifier key (true == pressed).
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess getModifierKeyState(GHOST_TModifierKeyMask mask, bool &isDown) const = 0;
+
+ /**
+ * Returns the state of a mouse button (ouside the message queue).
+ * \param mask The button state to retrieve.
+ * \param isDown Button state.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool &isDown) const = 0;
+
+ /**
+ * Set which tablet API to use. Only affects Windows, other platforms have a single API.
+ * \param api Enum indicating which API to use.
+ */
+ virtual void setTabletAPI(GHOST_TTabletAPI api) = 0;
#ifdef WITH_INPUT_NDOF
- /**
- * Sets 3D mouse deadzone
- * \param deadzone: Deadzone of the 3D mouse (both for rotation and pan) relative to full range
- */
- virtual void setNDOFDeadZone(float deadzone) = 0;
+ /**
+ * Sets 3D mouse deadzone
+ * \param deadzone: Deadzone of the 3D mouse (both for rotation and pan) relative to full range
+ */
+ virtual void setNDOFDeadZone(float deadzone) = 0;
#endif
- /**
- * Toggles console
- * \param action
- * - 0: Hides
- * - 1: Shows
- * - 2: Toggles
- * - 3: Hides if it runs not from command line
- * - *: Does nothing
- * \return current status (1 -visible, 0 - hidden)
- */
- virtual int toggleConsole(int action) = 0;
-
- /***************************************************************************************
- * Access to clipboard.
- ***************************************************************************************/
-
- /**
- * Returns the selection buffer
- * \return "unsigned char" from X11 XA_CUT_BUFFER0 buffer
- *
- */
- virtual GHOST_TUns8 *getClipboard(bool selection) const = 0;
-
- /**
- * Put data to the Clipboard
- */
- virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
-
- /**
- * Confirms quitting he program when there is just one window left open
- * in the application
- */
- virtual int confirmQuit(GHOST_IWindow *window) const = 0;
-
- /**
- * Informs if the system provides native dialogs (eg. confirm quit)
- */
- virtual bool supportsNativeDialogs(void) = 0;
-
-protected:
- /**
- * Initialize the system.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess init() = 0;
-
- /**
- * Shut the system down.
- * \return Indication of success.
- */
- virtual GHOST_TSuccess exit() = 0;
-
- /** The one and only system */
- static GHOST_ISystem *m_system;
-
+ /**
+ * Toggles console
+ * \param action
+ * - 0: Hides
+ * - 1: Shows
+ * - 2: Toggles
+ * - 3: Hides if it runs not from command line
+ * - *: Does nothing
+ * \return current status (1 -visible, 0 - hidden)
+ */
+ virtual int toggleConsole(int action) = 0;
+
+ /***************************************************************************************
+ * Access to clipboard.
+ ***************************************************************************************/
+
+ /**
+ * Returns the selection buffer
+ * \return "unsigned char" from X11 XA_CUT_BUFFER0 buffer
+ *
+ */
+ virtual GHOST_TUns8 *getClipboard(bool selection) const = 0;
+
+ /**
+ * Put data to the Clipboard
+ */
+ virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
+
+ /**
+ * Confirms quitting he program when there is just one window left open
+ * in the application
+ */
+ virtual int confirmQuit(GHOST_IWindow *window) const = 0;
+
+ /**
+ * Informs if the system provides native dialogs (eg. confirm quit)
+ */
+ virtual bool supportsNativeDialogs(void) = 0;
+
+ protected:
+ /**
+ * Initialize the system.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess init() = 0;
+
+ /**
+ * Shut the system down.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess exit() = 0;
+
+ /** The one and only system */
+ static GHOST_ISystem *m_system;
#ifdef WITH_CXX_GUARDEDALLOC
- MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_ISystem")
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_ISystem")
#endif
};
-#endif // __GHOST_ISYSTEM_H__
+#endif // __GHOST_ISYSTEM_H__