From e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Apr 2019 06:17:24 +0200 Subject: 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 --- intern/ghost/GHOST_ISystem.h | 657 ++++++++++++++++++++++--------------------- 1 file changed, 331 insertions(+), 326 deletions(-) (limited to 'intern/ghost/GHOST_ISystem.h') 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__ -- cgit v1.2.3