Netzhaut
Web Browser Engine
ver.0.3.5.0
rev.0.23.55.58
Loading...
Searching...
No Matches
nhwsi

Create windows for rendering. More...

Data Structures

struct  nh_wsi_ConfigureEvent
 
struct  nh_wsi_MouseEvent
 
struct  nh_wsi_KeyboardEvent
 
struct  nh_wsi_Event
 
struct  nh_wsi_WindowConfiguration
 

Macros

#define NH_WSI_DEFAULT_WINDOW_WIDTH   1280
 
#define NH_WSI_DEFAULT_WINDOW_HEIGHT   720
 

Typedefs

typedef struct nh_gfx_SurfaceRequirements nh_gfx_SurfaceRequirements
 
typedef struct nh_wsi_Window nh_wsi_Window
 
typedef void(* nh_wsi_callback_f) (nh_wsi_Window *Window_p, nh_wsi_Event Event)
 

Enumerations

enum  NH_WSI_RESULT { NH_WSI_SUCCESS , NH_WSI_ERROR_NULL_POINTER , NH_WSI_ERROR_BAD_STATE , NH_WSI_ERROR_MEMORY_ALLOCATION }
 
enum  NH_WSI_TYPE { NH_WSI_TYPE_X11 , NH_WSI_TYPE_WAYLAND , NH_WSI_TYPE_WIN32 }
 
enum  NH_WSI_EVENT { NH_WSI_EVENT_MOUSE , NH_WSI_EVENT_KEYBOARD , NH_WSI_EVENT_CONFIGURE }
 
enum  NH_WSI_TRIGGER {
  NH_WSI_TRIGGER_UNDEFINED , NH_WSI_TRIGGER_PRESS , NH_WSI_TRIGGER_RELEASE , NH_WSI_TRIGGER_UP ,
  NH_WSI_TRIGGER_DOWN , NH_WSI_TRIGGER_MOVE , NH_WSI_TRIGGER_GET_FOCUS , NH_WSI_TRIGGER_LOOSE_FOCUS
}
 
enum  NH_WSI_KEY {
  NH_WSI_KEY_NONE , NH_WSI_KEY_SHIFT_L , NH_WSI_KEY_SHIFT_R , NH_WSI_KEY_CONTROL_L ,
  NH_WSI_KEY_CONTROL_R , NH_WSI_KEY_CAPS_LOCK , NH_WSI_KEY_SHIFT_LOCK , NH_WSI_KEY_META_L ,
  NH_WSI_KEY_META_R , NH_WSI_KEY_ALT_L , NH_WSI_KEY_ALT_R , NH_WSI_KEY_SUPER_L ,
  NH_WSI_KEY_SUPER_R , NH_WSI_KEY_HYPER_L , NH_WSI_KEY_HYPER_R
}
 
enum  NH_WSI_MOUSE {
  NH_WSI_MOUSE_UNDEFINED , NH_WSI_MOUSE_LEFT , NH_WSI_MOUSE_RIGHT , NH_WSI_MOUSE_MIDDLE ,
  NH_WSI_MOUSE_SCROLL , NH_WSI_MOUSE_MOVE
}
 
enum  NH_WSI_MOUSE_CURSOR_E {
  NH_WSI_MOUSE_CURSOR_ARROW , NH_WSI_MOUSE_CURSOR_ARROW_DOWN , NH_WSI_MOUSE_CURSOR_ARROW_UP , NH_WSI_MOUSE_CURSOR_BOAT ,
  NH_WSI_MOUSE_CURSOR_BOGOSITY , NH_WSI_MOUSE_CURSOR_BOTTOM_LEFT_CORNER , NH_WSI_MOUSE_CURSOR_BOTTOM_RIGHT_CORNER , NH_WSI_MOUSE_CURSOR_BOTTOM_SIDE ,
  NH_WSI_MOUSE_CURSOR_BOTTOM_TEE , NH_WSI_MOUSE_CURSOR_BOX_SPIRAL , NH_WSI_MOUSE_CURSOR_CENTER_PTR , NH_WSI_MOUSE_CURSOR_CIRCLE ,
  NH_WSI_MOUSE_CURSOR_CLOCK , NH_WSI_MOUSE_CURSOR_COFFEE_MUG , NH_WSI_MOUSE_CURSOR_CROSS , NH_WSI_MOUSE_CURSOR_CROSS_REVERSE ,
  NH_WSI_MOUSE_CURSOR_CROSSHAIR , NH_WSI_MOUSE_CURSOR_DIAMOND_CROSS , NH_WSI_MOUSE_CURSOR_DOT , NH_WSI_MOUSE_CURSOR_DOTBOX ,
  NH_WSI_MOUSE_CURSOR_DOUBLE_ARROW , NH_WSI_MOUSE_CURSOR_DRAFT_LARGE , NH_WSI_MOUSE_CURSOR_DRAFT_SMALL , NH_WSI_MOUSE_CURSOR_DRAPED_BOX ,
  NH_WSI_MOUSE_CURSOR_EXCHANGE , NH_WSI_MOUSE_CURSOR_FLEUR , NH_WSI_MOUSE_CURSOR_GOBBLER , NH_WSI_MOUSE_CURSOR_GUMBY ,
  NH_WSI_MOUSE_CURSOR_HAND1 , NH_WSI_MOUSE_CURSOR_HAND2 , NH_WSI_MOUSE_CURSOR_HEART , NH_WSI_MOUSE_CURSOR_ICON ,
  NH_WSI_MOUSE_CURSOR_IRON_CROSS , NH_WSI_MOUSE_CURSOR_LEFT_PTR , NH_WSI_MOUSE_CURSOR_LEFT_SIDE , NH_WSI_MOUSE_CURSOR_LEFT_TEE ,
  NH_WSI_MOUSE_CURSOR_LEFT_BUTTON , NH_WSI_MOUSE_CURSOR_LL_ANGLE , NH_WSI_MOUSE_CURSOR_LR_ANGLE , NH_WSI_MOUSE_CURSOR_MAN ,
  NH_WSI_MOUSE_CURSOR_MIDDLEBUTTON , NH_WSI_MOUSE_CURSOR_MOUSE , NH_WSI_MOUSE_CURSOR_PENCIL , NH_WSI_MOUSE_CURSOR_PIRATE ,
  NH_WSI_MOUSE_CURSOR_PLUS , NH_WSI_MOUSE_CURSOR_QUESTION_ARROW , NH_WSI_MOUSE_CURSOR_RIGHT_PTR , NH_WSI_MOUSE_CURSOR_RIGHT_SIDE ,
  NH_WSI_MOUSE_CURSOR_RIGHT_TEE , NH_WSI_MOUSE_CURSOR_RIGHT_BUTTON , NH_WSI_MOUSE_CURSOR_RTL_LOGO , NH_WSI_MOUSE_CURSOR_SAILBOAT ,
  NH_WSI_MOUSE_CURSOR_SB_DOWN_ARROW , NH_WSI_MOUSE_CURSOR_SB_H_DOUBLE_ARROW , NH_WSI_MOUSE_CURSOR_SB_LEFT_ARROW , NH_WSI_MOUSE_CURSOR_SB_RIGHT_ARROW ,
  NH_WSI_MOUSE_CURSOR_SB_UP_ARROW , NH_WSI_MOUSE_CURSOR_SB_V_DOUBLE_ARROW , NH_WSI_MOUSE_CURSOR_SHUTTLE , NH_WSI_MOUSE_CURSOR_SIZING ,
  NH_WSI_MOUSE_CURSOR_SPIDER , NH_WSI_MOUSE_CURSOR_SPRAYCAN , NH_WSI_MOUSE_CURSOR_STAR , NH_WSI_MOUSE_CURSOR_TARGET ,
  NH_WSI_MOUSE_CURSOR_TCROSS , NH_WSI_MOUSE_CURSOR_TOP_LEFT_ARROW , NH_WSI_MOUSE_CURSOR_TOP_LEFT_CORNER , NH_WSI_MOUSE_CURSOR_TOP_RIGHT_CORNER ,
  NH_WSI_MOUSE_CURSOR_TOP_SIDE , NH_WSI_MOUSE_CURSOR_TOP_TEE , NH_WSI_MOUSE_CURSOR_TREK , NH_WSI_MOUSE_CURSOR_UL_ANGLE ,
  NH_WSI_MOUSE_CURSOR_UMBRELLA , NH_WSI_MOUSE_CURSOR_UR_ANGLE , NH_WSI_MOUSE_CURSOR_WATCH , NH_WSI_MOUSE_CURSOR_XTERM
}
 
enum  NH_WSI_MOUSE_FLAG {
  NH_WSI_MOUSE_FLAG_UNDEFINED = 1 << 0 , NH_WSI_MOUSE_FLAG_LEFT = 1 << 1 , NH_WSI_MOUSE_FLAG_RIGHT = 1 << 2 , NH_WSI_MOUSE_FLAG_MIDDLE = 1 << 3 ,
  NH_WSI_MOUSE_FLAG_SCROLL = 1 << 4 , NH_WSI_MOUSE_FLAG_MOVE = 1 << 5
}
 
enum  NH_WSI_WINDOW_DECORATION_E {
  NH_WSI_WINDOW_DECORATION_NONE , NH_WSI_WINDOW_DECORATION_ALL , NH_WSI_WINDOW_DECORATION_BORDER , NH_WSI_WINDOW_DECORATION_TITLE_BAR ,
  NH_WSI_WINDOW_DECORATION_MENU , NH_WSI_WINDOW_DECORATION_MINIMIZE , NH_WSI_WINDOW_DECORATION_MAXIMIZE , NH_WSI_WINDOW_DECORATION_E_COUNT
}
 
enum  NH_WSI_WINDOW_ACTION_E {
  NH_WSI_WINDOW_ACTION_ALL , NH_WSI_WINDOW_ACTION_RESIZE , NH_WSI_WINDOW_ACTION_MOVE , NH_WSI_WINDOW_ACTION_MINIMIZE ,
  NH_WSI_WINDOW_ACTION_MAXIMIZE , NH_WSI_WINDOW_ACTION_CLOSE , NH_WSI_WINDOW_ACTION_E_COUNT
}
 
enum  NH_WSI_WINDOW_TYPE_E {
  NH_WSI_WINDOW_TYPE_NORMAL , NH_WSI_WINDOW_TYPE_DESKTOP , NH_WSI_WINDOW_TYPE_DOCK , NH_WSI_WINDOW_TYPE_TOOLBAR ,
  NH_WSI_WINDOW_TYPE_UTILITY , NH_WSI_WINDOW_TYPE_SPLASH , NH_WSI_WINDOW_TYPE_DIALOG , NH_WSI_WINDOW_TYPE_E_COUNT
}
 
enum  NH_WSI_WINDOW_STATE_E { NH_WSI_WINDOW_STATE_ABOVE , NH_WSI_WINDOW_STATE_MAXIMIZED , NH_WSI_WINDOW_STATE_E_COUNT }
 

Functions

nh_wsi_WindowConfiguration nh_wsi_initWindowConfiguration ()
 
nh_wsi_Windownh_wsi_createWindow (nh_wsi_WindowConfiguration Configuration, nh_gfx_SurfaceRequirements *Requirements_p)
 
NH_WSI_RESULT nh_wsi_setEventListener (nh_wsi_Window *Window_p, nh_wsi_callback_f callback_f)
 

Detailed Description

Create windows for rendering.

Macro Definition Documentation

◆ NH_WSI_DEFAULT_WINDOW_HEIGHT

#define NH_WSI_DEFAULT_WINDOW_HEIGHT   720

◆ NH_WSI_DEFAULT_WINDOW_WIDTH

#define NH_WSI_DEFAULT_WINDOW_WIDTH   1280

Typedef Documentation

◆ nh_gfx_SurfaceRequirements

◆ nh_wsi_callback_f

typedef void(* nh_wsi_callback_f) (nh_wsi_Window *Window_p, nh_wsi_Event Event)

◆ nh_wsi_Window

typedef struct nh_wsi_Window nh_wsi_Window

Enumeration Type Documentation

◆ NH_WSI_EVENT

Enumerator
NH_WSI_EVENT_MOUSE 
NH_WSI_EVENT_KEYBOARD 
NH_WSI_EVENT_CONFIGURE 

◆ NH_WSI_KEY

enum NH_WSI_KEY
Enumerator
NH_WSI_KEY_NONE 
NH_WSI_KEY_SHIFT_L 
NH_WSI_KEY_SHIFT_R 
NH_WSI_KEY_CONTROL_L 
NH_WSI_KEY_CONTROL_R 
NH_WSI_KEY_CAPS_LOCK 
NH_WSI_KEY_SHIFT_LOCK 
NH_WSI_KEY_META_L 
NH_WSI_KEY_META_R 
NH_WSI_KEY_ALT_L 
NH_WSI_KEY_ALT_R 
NH_WSI_KEY_SUPER_L 
NH_WSI_KEY_SUPER_R 
NH_WSI_KEY_HYPER_L 
NH_WSI_KEY_HYPER_R 

◆ NH_WSI_MOUSE

Enumerator
NH_WSI_MOUSE_UNDEFINED 
NH_WSI_MOUSE_LEFT 
NH_WSI_MOUSE_RIGHT 
NH_WSI_MOUSE_MIDDLE 
NH_WSI_MOUSE_SCROLL 
NH_WSI_MOUSE_MOVE 

◆ NH_WSI_MOUSE_CURSOR_E

Enumerator
NH_WSI_MOUSE_CURSOR_ARROW 
NH_WSI_MOUSE_CURSOR_ARROW_DOWN 
NH_WSI_MOUSE_CURSOR_ARROW_UP 
NH_WSI_MOUSE_CURSOR_BOAT 
NH_WSI_MOUSE_CURSOR_BOGOSITY 
NH_WSI_MOUSE_CURSOR_BOTTOM_LEFT_CORNER 
NH_WSI_MOUSE_CURSOR_BOTTOM_RIGHT_CORNER 
NH_WSI_MOUSE_CURSOR_BOTTOM_SIDE 
NH_WSI_MOUSE_CURSOR_BOTTOM_TEE 
NH_WSI_MOUSE_CURSOR_BOX_SPIRAL 
NH_WSI_MOUSE_CURSOR_CENTER_PTR 
NH_WSI_MOUSE_CURSOR_CIRCLE 
NH_WSI_MOUSE_CURSOR_CLOCK 
NH_WSI_MOUSE_CURSOR_COFFEE_MUG 
NH_WSI_MOUSE_CURSOR_CROSS 
NH_WSI_MOUSE_CURSOR_CROSS_REVERSE 
NH_WSI_MOUSE_CURSOR_CROSSHAIR 
NH_WSI_MOUSE_CURSOR_DIAMOND_CROSS 
NH_WSI_MOUSE_CURSOR_DOT 
NH_WSI_MOUSE_CURSOR_DOTBOX 
NH_WSI_MOUSE_CURSOR_DOUBLE_ARROW 
NH_WSI_MOUSE_CURSOR_DRAFT_LARGE 
NH_WSI_MOUSE_CURSOR_DRAFT_SMALL 
NH_WSI_MOUSE_CURSOR_DRAPED_BOX 
NH_WSI_MOUSE_CURSOR_EXCHANGE 
NH_WSI_MOUSE_CURSOR_FLEUR 
NH_WSI_MOUSE_CURSOR_GOBBLER 
NH_WSI_MOUSE_CURSOR_GUMBY 
NH_WSI_MOUSE_CURSOR_HAND1 
NH_WSI_MOUSE_CURSOR_HAND2 
NH_WSI_MOUSE_CURSOR_HEART 
NH_WSI_MOUSE_CURSOR_ICON 
NH_WSI_MOUSE_CURSOR_IRON_CROSS 
NH_WSI_MOUSE_CURSOR_LEFT_PTR 
NH_WSI_MOUSE_CURSOR_LEFT_SIDE 
NH_WSI_MOUSE_CURSOR_LEFT_TEE 
NH_WSI_MOUSE_CURSOR_LEFT_BUTTON 
NH_WSI_MOUSE_CURSOR_LL_ANGLE 
NH_WSI_MOUSE_CURSOR_LR_ANGLE 
NH_WSI_MOUSE_CURSOR_MAN 
NH_WSI_MOUSE_CURSOR_MIDDLEBUTTON 
NH_WSI_MOUSE_CURSOR_MOUSE 
NH_WSI_MOUSE_CURSOR_PENCIL 
NH_WSI_MOUSE_CURSOR_PIRATE 
NH_WSI_MOUSE_CURSOR_PLUS 
NH_WSI_MOUSE_CURSOR_QUESTION_ARROW 
NH_WSI_MOUSE_CURSOR_RIGHT_PTR 
NH_WSI_MOUSE_CURSOR_RIGHT_SIDE 
NH_WSI_MOUSE_CURSOR_RIGHT_TEE 
NH_WSI_MOUSE_CURSOR_RIGHT_BUTTON 
NH_WSI_MOUSE_CURSOR_RTL_LOGO 
NH_WSI_MOUSE_CURSOR_SAILBOAT 
NH_WSI_MOUSE_CURSOR_SB_DOWN_ARROW 
NH_WSI_MOUSE_CURSOR_SB_H_DOUBLE_ARROW 
NH_WSI_MOUSE_CURSOR_SB_LEFT_ARROW 
NH_WSI_MOUSE_CURSOR_SB_RIGHT_ARROW 
NH_WSI_MOUSE_CURSOR_SB_UP_ARROW 
NH_WSI_MOUSE_CURSOR_SB_V_DOUBLE_ARROW 
NH_WSI_MOUSE_CURSOR_SHUTTLE 
NH_WSI_MOUSE_CURSOR_SIZING 
NH_WSI_MOUSE_CURSOR_SPIDER 
NH_WSI_MOUSE_CURSOR_SPRAYCAN 
NH_WSI_MOUSE_CURSOR_STAR 
NH_WSI_MOUSE_CURSOR_TARGET 
NH_WSI_MOUSE_CURSOR_TCROSS 
NH_WSI_MOUSE_CURSOR_TOP_LEFT_ARROW 
NH_WSI_MOUSE_CURSOR_TOP_LEFT_CORNER 
NH_WSI_MOUSE_CURSOR_TOP_RIGHT_CORNER 
NH_WSI_MOUSE_CURSOR_TOP_SIDE 
NH_WSI_MOUSE_CURSOR_TOP_TEE 
NH_WSI_MOUSE_CURSOR_TREK 
NH_WSI_MOUSE_CURSOR_UL_ANGLE 
NH_WSI_MOUSE_CURSOR_UMBRELLA 
NH_WSI_MOUSE_CURSOR_UR_ANGLE 
NH_WSI_MOUSE_CURSOR_WATCH 
NH_WSI_MOUSE_CURSOR_XTERM 

◆ NH_WSI_MOUSE_FLAG

Enumerator
NH_WSI_MOUSE_FLAG_UNDEFINED 
NH_WSI_MOUSE_FLAG_LEFT 
NH_WSI_MOUSE_FLAG_RIGHT 
NH_WSI_MOUSE_FLAG_MIDDLE 
NH_WSI_MOUSE_FLAG_SCROLL 
NH_WSI_MOUSE_FLAG_MOVE 

◆ NH_WSI_RESULT

Return values for functions.

Enumerator
NH_WSI_SUCCESS 

Indicates that something worked as planned.

NH_WSI_ERROR_NULL_POINTER 
NH_WSI_ERROR_BAD_STATE 
NH_WSI_ERROR_MEMORY_ALLOCATION 

◆ NH_WSI_TRIGGER

Enumerator
NH_WSI_TRIGGER_UNDEFINED 
NH_WSI_TRIGGER_PRESS 
NH_WSI_TRIGGER_RELEASE 
NH_WSI_TRIGGER_UP 
NH_WSI_TRIGGER_DOWN 
NH_WSI_TRIGGER_MOVE 
NH_WSI_TRIGGER_GET_FOCUS 
NH_WSI_TRIGGER_LOOSE_FOCUS 

◆ NH_WSI_TYPE

Enumerator
NH_WSI_TYPE_X11 
NH_WSI_TYPE_WAYLAND 
NH_WSI_TYPE_WIN32 

◆ NH_WSI_WINDOW_ACTION_E

Enumerator
NH_WSI_WINDOW_ACTION_ALL 
NH_WSI_WINDOW_ACTION_RESIZE 
NH_WSI_WINDOW_ACTION_MOVE 
NH_WSI_WINDOW_ACTION_MINIMIZE 
NH_WSI_WINDOW_ACTION_MAXIMIZE 
NH_WSI_WINDOW_ACTION_CLOSE 
NH_WSI_WINDOW_ACTION_E_COUNT 

◆ NH_WSI_WINDOW_DECORATION_E

Enumerator
NH_WSI_WINDOW_DECORATION_NONE 
NH_WSI_WINDOW_DECORATION_ALL 
NH_WSI_WINDOW_DECORATION_BORDER 
NH_WSI_WINDOW_DECORATION_TITLE_BAR 
NH_WSI_WINDOW_DECORATION_MENU 
NH_WSI_WINDOW_DECORATION_MINIMIZE 
NH_WSI_WINDOW_DECORATION_MAXIMIZE 
NH_WSI_WINDOW_DECORATION_E_COUNT 

◆ NH_WSI_WINDOW_STATE_E

Enumerator
NH_WSI_WINDOW_STATE_ABOVE 

Always on top of other windows.

NH_WSI_WINDOW_STATE_MAXIMIZED 

Maximised.

NH_WSI_WINDOW_STATE_E_COUNT 

◆ NH_WSI_WINDOW_TYPE_E

Enumerator
NH_WSI_WINDOW_TYPE_NORMAL 
NH_WSI_WINDOW_TYPE_DESKTOP 
NH_WSI_WINDOW_TYPE_DOCK 
NH_WSI_WINDOW_TYPE_TOOLBAR 
NH_WSI_WINDOW_TYPE_UTILITY 
NH_WSI_WINDOW_TYPE_SPLASH 
NH_WSI_WINDOW_TYPE_DIALOG 
NH_WSI_WINDOW_TYPE_E_COUNT 

Function Documentation

◆ nh_wsi_createWindow()

nh_wsi_Window * nh_wsi_createWindow ( nh_wsi_WindowConfiguration  Configuration,
nh_gfx_SurfaceRequirements Requirements_p 
)

Todo.

◆ nh_wsi_initWindowConfiguration()

nh_wsi_WindowConfiguration nh_wsi_initWindowConfiguration ( )

Todo.

◆ nh_wsi_setEventListener()

NH_WSI_RESULT nh_wsi_setEventListener ( nh_wsi_Window Window_p,
nh_wsi_callback_f  callback_f 
)

Todo.