Cavestory Mod API
Classes
ExternalWindow.h File Reference
#include <CSMAPI_begincode.h>
#include <CSMAPI_endcode.h>

Go to the source code of this file.

Classes

struct  EXTERNAL_WINDOW_TEXTURE
 Holds information for window-specific information pertaining to surf[]. More...
 
class  ExternalWindow
 An external window to render stuff on. More...
 
enum  ExternalWindow_HitResult {
  EXTERNAL_WINDOW_HITTEST_NORMAL = 0 , EXTERNAL_WINDOW_HITTEST_DRAGGABLE = 1 , EXTERNAL_WINDOW_HITTEST_RESIZE_TOPLEFT = 2 , EXTERNAL_WINDOW_HITTEST_RESIZE_TOP = 3 ,
  EXTERNAL_WINDOW_HITTEST_RESIZE_TOPRIGHT = 4 , EXTERNAL_WINDOW_HITTEST_RESIZE_RIGHT = 5 , EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOMRIGHT = 6 , EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOM = 7 ,
  EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOMLEFT = 8 , EXTERNAL_WINDOW_HITTEST_RESIZE_LEFT = 9
}
 Hittest result. More...
 
enum  ExternalWindowFlags {
  EXTERNAL_WINDOW_MINIMIZED = BIT(0) , EXTERNAL_WINDOW_MAXIMIZED = BIT(1) , EXTERNAL_WINDOW_HIDDEN = BIT(2) , EXTERNAL_WINDOW_BORDERLESS = BIT(3) ,
  EXTERNAL_WINDOW_RESIZABLE = BIT(4) , EXTERNAL_WINDOW_HAS_INPUT_FOCUS = BIT(5) , EXTERNAL_WINDOW_HAS_MOUSE_FOCUS = BIT(6) , EXTERNAL_WINDOW_TOOLWINDOW = BIT(7) ,
  EXTERNAL_WINDOW_TOPMOST = BIT(8)
}
 Flags for ExternalWindow. More...
 
typedef ExternalWindow_HitResult(* ExternalWindow_HitTestFunc) (ExternalWindow *pWindow, GUI_POINT pPoint, void *pUserData)
 Callback for hittesting. More...
 
typedef void(* ExternalWindow_OnResizeFunc) (ExternalWindow *pWindow, GUI_POINT pOldSize, GUI_POINT pNewSize, void *pUserData)
 Callback for resizing the window. More...
 

Typedef Documentation

◆ ExternalWindow_HitTestFunc

typedef ExternalWindow_HitResult(* ExternalWindow_HitTestFunc) (ExternalWindow *pWindow, GUI_POINT pPoint, void *pUserData)

Callback for hittesting.

Parameters
pWindowThe window object.
pPointThe mouse point.
pUserDataThe user data.

◆ ExternalWindow_OnResizeFunc

typedef void(* ExternalWindow_OnResizeFunc) (ExternalWindow *pWindow, GUI_POINT pOldSize, GUI_POINT pNewSize, void *pUserData)

Callback for resizing the window.

Parameters
pWindowThe window object.
pOldSizeThe old size of the window.
pNewSizeThe new size of the window.

Enumeration Type Documentation

◆ ExternalWindow_HitResult

Hittest result.

Enumerator
EXTERNAL_WINDOW_HITTEST_NORMAL 

No special properties.

EXTERNAL_WINDOW_HITTEST_DRAGGABLE 

Region can drag entire window.

EXTERNAL_WINDOW_HITTEST_RESIZE_TOPLEFT 

Region is the topleft resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_TOP 

Region is the top resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_TOPRIGHT 

Region is the topright resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_RIGHT 

Region is the right resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOMRIGHT 

Region is the bottomright resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOM 

Region is the bottom resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_BOTTOMLEFT 

Region is the bottomleft resizer.

EXTERNAL_WINDOW_HITTEST_RESIZE_LEFT 

Region is the left resizer.

◆ ExternalWindowFlags

Flags for ExternalWindow.

Enumerator
EXTERNAL_WINDOW_MINIMIZED 

Window is minimized.

EXTERNAL_WINDOW_MAXIMIZED 

Window is maximized.

EXTERNAL_WINDOW_HIDDEN 

Window is hidden.

EXTERNAL_WINDOW_BORDERLESS 

Window has no border.

EXTERNAL_WINDOW_RESIZABLE 

Window can be resized.

EXTERNAL_WINDOW_HAS_INPUT_FOCUS 

Window has input focus.

@note This does nothing if set initially! 
EXTERNAL_WINDOW_HAS_MOUSE_FOCUS 

Window has mouse focus.

@note This does nothing if set initially! 
EXTERNAL_WINDOW_TOOLWINDOW 

Window is a tooltip window.

EXTERNAL_WINDOW_TOPMOST 

Window is always topmost window.