struct CCL::IWindow

Overview

Window interface. More…

#include <iwindow.h>

struct IWindow: public CCL::IWindowBase
{
    // enums

    enum StatusBarStyle;

    // structs

    struct SizeChangeCollector;
    struct UpdateCollector;

    // methods

    virtual void*CCL_API getSystemWindow () const = 0;
    virtual tbool CCL_API isSystemWindowValid () const = 0;
    virtual StringRef CCL_API getWindowTitle () const = 0;
    virtual void CCL_API setWindowTitle (StringRef title) = 0;
    virtual tbool CCL_API setCollectGraphicUpdates (tbool state) = 0;
    virtual tbool CCL_API setCollectSizeUpdates (tbool state) = 0;
    virtual float CCL_API getContentScaleFactor () const = 0;
    virtual tbool CCL_API setContentScaleFactor (float factor) = 0;
    virtual void CCL_API show () = 0;
    virtual void CCL_API hide () = 0;
    virtual void CCL_API maximize (tbool state) = 0;
    virtual tbool CCL_API isMaximized () const = 0;
    virtual tbool CCL_API isMinimized () const = 0;
    virtual void CCL_API setUserSize (RectRef size) = 0;
    virtual void CCL_API getUserSize (Rect& size) const = 0;
    virtual tbool CCL_API isVisible () const = 0;
    virtual void CCL_API redraw () = 0;
    virtual void CCL_API center () = 0;
    virtual tbool CCL_API close () = 0;

    virtual void CCL_API popupContextMenu (
        PointRef where,
        tbool wasKeyPressed = false
    ) = 0;

    virtual void CCL_API moveWindow (PointRef pos) = 0;
    virtual tbool CCL_API isFullscreen () const = 0;
    virtual tbool CCL_API setFullscreen (tbool state) = 0;
    virtual void CCL_API addHandler (IWindowEventHandler* handler) = 0;
    virtual void CCL_API removeHandler (IWindowEventHandler* handler) = 0;
    virtual IUnknown*CCL_API getController () const = 0;
    virtual tbool CCL_API setController (IUnknown* controller) = 0;
    virtual IView*CCL_API getFocusIView () const = 0;
    virtual void CCL_API getFrameSize (Rect& size) const = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual void CCL_API activate () = 0;
    virtual tbool CCL_API isActive () const = 0;

Detailed Documentation

Window interface.

Methods

virtual void*CCL_API getSystemWindow () const = 0

Get system-specific window reference Windows: HWND macOS: NSView iOS: UIViewController Linux : WindowContext (defined in ilinuxspecifics.h) Android: not used.

virtual tbool CCL_API isSystemWindowValid () const = 0

Check if system-specific window reference is valid.

virtual StringRef CCL_API getWindowTitle () const = 0

Get window title.

virtual void CCL_API setWindowTitle (StringRef title) = 0

Set window title.

virtual tbool CCL_API setCollectGraphicUpdates (tbool state) = 0

Set if window graphic updates should be collected, returns old state.

virtual tbool CCL_API setCollectSizeUpdates (tbool state) = 0

Set if window size updates should be collected, returns old state.

virtual float CCL_API getContentScaleFactor () const = 0

Get the points to pixels scaling factor.

virtual tbool CCL_API setContentScaleFactor (float factor) = 0

Set the points to pixels scaling factor.

This works for child windows only on Windows platform.

virtual void CCL_API show () = 0

Show window.

virtual void CCL_API hide () = 0

Hide window.

virtual void CCL_API maximize (tbool state) = 0

Set the window to maximized state (true) or restore original size (false).

virtual tbool CCL_API isMaximized () const = 0

Returns true if window is maximized.

virtual tbool CCL_API isMinimized () const = 0

Returns true if window is minimized.

virtual void CCL_API setUserSize (RectRef size) = 0

Set the size, that is used in restored state.

virtual void CCL_API getUserSize (Rect& size) const = 0

Get the size, that is used in restored state.

virtual tbool CCL_API isVisible () const = 0

Check if window is currently visible.

virtual void CCL_API redraw () = 0

Force to redraw window client area.

virtual void CCL_API center () = 0

Center window on main screen.

virtual tbool CCL_API close () = 0

Try to close window.

virtual void CCL_API popupContextMenu (
    PointRef where,
    tbool wasKeyPressed = false
) = 0

Show context menu at given position in window coords, or at focusView if wasKeyPressed.

virtual void CCL_API moveWindow (PointRef pos) = 0

Move the window to the given screen coordinates.

virtual tbool CCL_API isFullscreen () const = 0

Returns true if window is in fullscreen.

virtual tbool CCL_API setFullscreen (tbool state) = 0

Enter or leave full screen for this window.

Returns previous state.

virtual void CCL_API addHandler (IWindowEventHandler* handler) = 0

Register event handler.

virtual void CCL_API removeHandler (IWindowEventHandler* handler) = 0

Remove event handler.

virtual IUnknown*CCL_API getController () const = 0

Get controller object associated with this window.

virtual tbool CCL_API setController (IUnknown* controller) = 0

Set controller object for this window.

virtual IView*CCL_API getFocusIView () const = 0

Get view currently focused in window.

virtual void CCL_API getFrameSize (Rect& size) const = 0

Get outer size of system window including non-client area.