PatchworkOS
Loading...
Searching...
No Matches
window.h File Reference
#include "display.h"
#include "pixel.h"
#include "procedure.h"
#include "surface.h"

Go to the source code of this file.

Typedefs

typedef struct window window_t
 

Enumerations

enum  window_flags_t {
  WINDOW_NONE = 0 ,
  WINDOW_DECO = 1 << 0 ,
  WINDOW_RESIZABLE = 1 << 1 ,
  WINDOW_NO_CONTROLS = 1 << 2
}
 Window flags. More...
 

Functions

window_twindow_new (display_t *disp, const char *name, const rect_t *rect, surface_type_t type, window_flags_t flags, procedure_t procedure, void *private)
 Allocate and initialize a new window.
 
void window_free (window_t *win)
 Free a window.
 
rect_t window_get_rect (window_t *win)
 Get the window's rectangle in screen coordinates.
 
rect_t window_content_rect (window_t *win)
 Get the window's rectangle in local coordinates.
 
display_twindow_get_display (window_t *win)
 Get the display associated with the window.
 
surface_id_t window_get_id (window_t *win)
 Get the surface ID of the window.
 
surface_type_t window_get_type (window_t *win)
 Get the surface type of the window.
 
element_twindow_get_client_element (window_t *win)
 Get the client element of the window.
 
uint64_t window_move (window_t *win, const rect_t *rect)
 Move and/or resize the window.
 
uint64_t window_set_timer (window_t *win, timer_flags_t flags, clock_t timeout)
 Set the window timer.
 
void window_invalidate (window_t *win, const rect_t *rect)
 Invalidate a rectangle of the window.
 
uint64_t window_invalidate_flush (window_t *win)
 Flush invalidated rectangles to the DWM.
 
uint64_t window_dispatch (window_t *win, const event_t *event)
 Dispatch an event to the window's elements.
 
uint64_t window_set_focus (window_t *win)
 Set the focus to the window.
 
uint64_t window_set_visible (window_t *win, bool isVisible)
 Set the visibility of the window.