33 #include "../../Core/Signals/signal.h" 34 #include "../display_target.h" 37 #if !defined(WIN32) && !defined(__ANDROID__) && !defined(__APPLE__) 40 typedef struct _XDisplay Display;
41 typedef unsigned long Window;
44 #if defined(__ANDROID__) 57 class DisplayWindowMode;
58 class DisplayWindowDescription;
59 struct DisplayWindowHandle;
63 class DisplayWindowProvider;
64 class DisplayWindow_Impl;
89 #elif defined(__ANDROID__) 91 #elif defined(__APPLE__) 119 bool start_fullscreen =
false,
120 bool allow_resize =
false,
121 int flipping_buffers = 2);
204 std::function<bool(HWND, UINT, WPARAM, LPARAM)> &func_window_message();
213 explicit operator bool()
const {
return bool(impl); }
299 void set_size(
float width,
float height,
bool client_area);
321 void show(
bool activate =
true);
340 void flip(
int interval = -1);
354 void set_cursor_handle(HCURSOR cursor);
385 std::shared_ptr<DisplayWindow_Impl> impl;
Rectf get_viewport() const
Returns the drawable area of the window (excluding window frame).
void extend_frame_into_client_area(float left, float top, float right, float bottom)
Exend the window frame into the client area.
StandardCursor
Standard Cursor.
Definition: display_window.h:68
std::function< void(Rectf &)> & func_window_resize()
Callback called when a window is being resized.
void set_clipboard_image(const PixelBuffer &buf)
Stores an image in the clipboard.
bool is_clipboard_image_available() const
Returns true if an image is available in the clipboard.
void bring_to_front()
Raises the window on top of other windows.
void set_visible(bool visible, bool activate)
Set visible.
std::function< bool()> & func_minimize_clicked()
Callback called when a window is asked to minimize itself.
void minimize()
Minimizes the window.
void throw_if_null() const
Throw an exception if this object is invalid.
Sizef get_minimum_size(bool client_area=false)
Returns the minimum size the window can be resized to by the application user.
void set_size(float width, float height, bool client_area)
Resize window.
::Window window
Definition: display_window.h:94
Pixel data container.
Definition: pixel_buffer.h:67
Definition: display_window.h:85
Signal< void()> & sig_got_focus()
Signal emitted when window gain focus.
void maximize()
Maximizes the window.
Signal< void()> & sig_lost_focus()
Signal emitted when window lost focus.
Mouse cursor class.
Definition: cursor.h:46
void set_position(const Rectf &pos, bool client_area)
Set window position and size.
bool is_null() const
Returns true if this object is invalid.
Definition: display_window.h:212
DisplayWindow()
Constructs a null instance.
void capture_mouse(bool capture)
Capture/Release the mouse.
GraphicContext & get_gc() const
Return the graphic context for the window.
void set_clipboard_text(const std::string &text)
Stores text in the clipboard.
Signal< void()> & sig_paint()
Signal emitted when the window is invalidated.
Signal< void()> & sig_window_moved()
Signal emitted after a window has been moved.
bool has_focus() const
Returns true if window has focus.
Sizef get_maximum_size(bool client_area=false)
Returns the maximum size the window can be resized to by the application user.
Rectf get_geometry() const
Returns the position and size of the window frame.
DisplayWindowProvider * get_provider() const
Returns the display window provider.
void set_maximum_size(float width, float height, bool client_area)
Maximum size a window can be resized to by the application user.
void flip(int interval=-1)
Flip back buffer to front, making changes visible on screen.
bool is_visible() const
returns true if this display window is visible
2D (left,top,right,bottom) rectangle structure - Float
Definition: rect.h:502
std::string get_clipboard_text() const
Returns the text stored in the clipboard.
void show(bool activate=true)
Displays the window in its current size and position.
Pointf client_to_screen(const Pointf &client)
Convert from window client coordinates to screen coordinates.
Signal< void()> & sig_window_close()
Signal emitted when window is closed.
Signal< void()> & sig_window_destroy()
Signal emitted when window is destroyed.
Signal< void()> & sig_window_flip()
Signal emitted when window flip() was called.
Signal< void()> & sig_window_minimized()
Signal emitted when window is minimized.
bool is_fullscreen() const
Returns true if window is currently running fullscreen.
DisplayWindowHandle get_handle() const
int screen
Definition: display_window.h:95
void enable_alpha_channel(const Rectf &blur_rect)
Enable alpha channel for this window.
bool is_minimized() const
Returns true if the window is minimized.
void set_title(const std::string &title)
Change window title.
void show_cursor()
Shows the mouse cursor.
bool is_clipboard_text_available() const
Returns true if text is available in the clipboard.
Interface to drawing graphics.
Definition: graphic_context.h:256
Signal< void(float, float)> & sig_resize()
Signal emitted when window is resized.
void request_repaint()
Invalidates the screen, causing a repaint.
std::string get_title() const
Returns the window title.
bool is_maximized() const
Returns true if the window is maximized.
Display window description class.
Definition: display_window_description.h:49
void set_small_icon(const PixelBuffer &image)
Sets the small icon used for this window.
::Display * display
Definition: display_window.h:93
Interface for implementing a DisplayWindow target.
Definition: display_window_provider.h:98
std::vector< InputDevice > & get_game_controllers()
Returns the game controller input device.
InputDevice & get_keyboard()
Returns the keyboard input device.
void set_cursor(const Cursor &cursor)
Sets the current cursor icon.
void hide()
Hides the window.
InputDevice & get_mouse()
Returns the mouse input device.
void set_large_icon(const PixelBuffer &image)
Sets the large icon used for this window.
2D (x,y) point structure - Float
Definition: point.h:71
PixelBuffer get_clipboard_image() const
Returns an image stored in the clipboard.
void set_enabled(bool enable)
Set enabled.
Top-level window class.
Definition: display_window.h:100
InputDevice & get_input_device(const std::string &device_name)
Returns the input device with the given device name.
void restore()
Restores the window.
void hide_cursor()
Hides the mouse cursor.
Signal< void()> & sig_window_maximized()
Signal emitted when window is maximized.
void set_minimum_size(float width, float height, bool client_area)
Minimum size a window can be resized to by the application user.
Signal< void()> & sig_window_restored()
Signal emitted when window is restored.
Pointf screen_to_client(const Pointf &screen)
Convert from screen coordinates to client coordinates.
2D (width,height) size structure - Float
Definition: size.h:183