uses Rect2D
uses Line2D
uses Color
uses Point2D
uses media.PixelMap
uses media.WH
uses FlowFont
uses Rect
uses Point
uses Cursor
data FlowEvent {
const int T_QUIT = 1
const int T_WINDOW = 2
const int T_MOUSE = 3
const int T_KEYBOARD = 4
int4 type
int4 subType
int4 dataInt1
int4 dataInt2
int4 dataInt3
int4 dataInt4
}
data WindowEvent {
int4 type
const int S_RESIZE = 1
const int S_MOVE = 2
int4 subType
}
data MouseEvent {
int4 type
const int S_DOWN = 1
const int S_UP = 2
const int S_MOVE = 3
const int S_WHEEL = 4
int4 subType
}
data KeyEvent {
int4 type
const int S_DOWN = 1
const int S_UP = 2
int4 subType
}
/*
{"description" : "FlowRender is a direct rendering API, generally used by applications such as video games. All of the functions in this API must only be called from the main thread of your program."}
*/
interface FlowRender {
const byte CURSOR_DEFAULT = 0
const byte CURSOR_HIDDEN = 1
const byte CURSOR_CUSTOM = 2
const byte CURSOR_IBEAM = 3
const byte CURSOR_HAND = 4
const byte CURSOR_WAIT = 5
const byte CURSOR_SIZENS = 6
const byte CURSOR_SIZEWE = 7
const byte CURSOR_SIZENWSE = 8
const byte CURSOR_SIZENESW = 9
const byte CURSOR_SIZEALL = 10
/* {"@description" : "Initialise a new direct rendering window, optionally specifying a target framerate."} */
FlowRender(opt int framerate)
/* {"@description" : "Get the input events which have arrived since this function was last called."} */
FlowEvent[] getEvents()
/* {"@description" : "Hide/show the window."} */
void setVisible(bool v)
/* {"@description" : "Set the window as user-resizeable or not."} */
void setResizable(bool v)
/* {"@description" : "Set the window as full-screen or not."} */
void setFullScreen(bool v)
/* {"@description" : "Set the title of the window."} */
void setTitle(char title[])
/* {"@description" : "Set the image used for the icon of the window."} */
void setIcon(store PixelMap p)
/* {"@description" : "Set the x/y position of the window on the screen."} */
void setPosition(int x, int y)
/* {"@description" : "Set the width and height of the window."} */
void setSize(int w, int h)
/* {"@description" : "Set the current mouse cursor of the window."} */
void setCursor(byte cursorType, opt Cursor c)
/* {"@description" : "Get the screen resolution of the display on which the window resides."} */
WH getResolution()
/* {"@description" : "Get the window's rendered content as a pixel map."} */
PixelMap getPixels()
/* {"@description" : "Close the window (other functions on this API will not work after this)."} */
void close()
/* {"@description" : "Begin a new render sequence to draw a scene. Call renderEnd() to finish that scene and present it."} */
void renderBegin()
/* {"@description" : "Finish a render sequence to present a scene to the viewer."} */
void renderEnd()
/* {"@description" : "Wait for framerate synch, if a particular framerate was configured on instantiation of the renderer."} */
void wait()
}To propose a new revision to this entity, use dana source put -ut your/new/version.dn -n ui.FlowRender -m "reason for update" -u yourUsername
Version 1 (this version) by barry
Notes for this version: Standard Library Initialisation