Sack Library Documentation
ContentsIndexReferenceHome
PreviousUpNext
sack::image::render::interface::render_interface_tag Structure
C++
struct render_interface_tag {
  int (* InitDisplay)(void);
  void (* SetApplicationTitle)(const TEXTCHAR *title);
  void (* SetApplicationIcon)(Image Icon);
  void (* GetDisplaySize)(_32 *width, _32 *height);
  void (* SetDisplaySize)(_32 width, _32 height);
  int (* ProcessDisplayMessages)(void);
  PRENDERER (* OpenDisplaySizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y);
  PRENDERER (* OpenDisplayAboveSizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y, PRENDERER above);
  void (* CloseDisplay)(PRENDERER);
  void (* UpdateDisplayPortionEx)(PRENDERER, S_32 x, S_32 y, _32 width, _32 height DBG_PASS);
  void (* UpdateDisplayEx)(PRENDERER DBG_PASS);
  void (* ClearDisplay)(PRENDERER);
  void (* GetDisplayPosition)(PRENDERER, S_32 *x, S_32 *y, _32 *width, _32 *height);
  void (* MoveDisplay)(PRENDERER, S_32 x, S_32 y);
  void (* MoveDisplayRel)(PRENDERER, S_32 delx, S_32 dely);
  void (* SizeDisplay)(PRENDERER, _32 w, _32 h);
  void (* SizeDisplayRel)(PRENDERER, S_32 delw, S_32 delh);
  void (* MoveSizeDisplayRel)(PRENDERER hVideo , S_32 delx, S_32 dely , S_32 delw, S_32 delh);
  void (* PutDisplayAbove)(PRENDERER, PRENDERER);
  Image (* GetDisplayImage)(PRENDERER);
  void (* SetCloseHandler)(PRENDERER, CloseCallback, PTRSZVAL);
  void (* SetMouseHandler)(PRENDERER, MouseCallback, PTRSZVAL);
  void (* SetRedrawHandler)(PRENDERER, RedrawCallback, PTRSZVAL);
  void (* SetKeyboardHandler)(PRENDERER, KeyProc, PTRSZVAL);
  void (* SetLoseFocusHandler)(PRENDERER, LoseFocusCallback, PTRSZVAL);
  POINTER junk1;
  void (* GetMousePosition)(S_32 *x, S_32 *y);
  void (* SetMousePosition)(PRENDERER, S_32 x, S_32 y);
  LOGICAL (* HasFocus)(PRENDERER);
  POINTER junk2;
  POINTER junk3;
  TEXTCHAR (* GetKeyText)(int key);
  _32 (* IsKeyDown)(PRENDERER display, int key);
  _32 (* KeyDown)(PRENDERER display, int key);
  LOGICAL (* DisplayIsValid)(PRENDERER display);
  void (* OwnMouseEx)(PRENDERER display, _32 Own DBG_PASS);
  int (* BeginCalibration)(_32 points);
  void (* SyncRender)(PRENDERER pDisplay);
  int (* EnableOpenGL)(PRENDERER hVideo);
  int (* SetActiveGLDisplay)(PRENDERER hDisplay);
  void (* MoveSizeDisplay)(PRENDERER hVideo , S_32 x, S_32 y , S_32 w, S_32 h);
  void (* MakeTopmost)(PRENDERER hVideo);
  void (* HideDisplay)(PRENDERER hVideo);
  void (* RestoreDisplay)(PRENDERER hVideo);
  void (* ForceDisplayFocus)(PRENDERER display);
  void (* ForceDisplayFront)(PRENDERER display);
  void (* ForceDisplayBack)(PRENDERER display);
  int (* BindEventToKey)(PRENDERER pRenderer, _32 scancode, _32 modifier, KeyTriggerHandler trigger, PTRSZVAL psv);
  int (* UnbindKey)(PRENDERER pRenderer, _32 scancode, _32 modifier);
  int (* IsTopmost)(PRENDERER hVideo);
  void (* OkaySyncRender)(void);
  int (* IsTouchDisplay)(void);
  void (* GetMouseState)(S_32 *x, S_32 *y, _32 *b);
  PSPRITE_METHOD (* EnableSpriteMethod)(PRENDERER render, void(__cdecl*RenderSprites)(PTRSZVAL psv, PRENDERER renderer, S_32 x, S_32 y, _32 w, _32 h ), PTRSZVAL psv);
  void (* WinShell_AcceptDroppedFiles)(PRENDERER renderer, dropped_file_acceptor f, PTRSZVAL psvUser);
  void (* PutDisplayIn)(PRENDERER hVideo, PRENDERER hContainer);
  PRENDERER (* MakeDisplayFrom)(HWND hWnd);
  void (* SetRendererTitle)(PRENDERER render, const TEXTCHAR *title);
  void (* DisableMouseOnIdle)(PRENDERER hVideo, LOGICAL bEnable);
  PRENDERER (* OpenDisplayAboveUnderSizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y, PRENDERER above, PRENDERER under);
  void (* SetDisplayNoMouse)(PRENDERER hVideo, int bNoMouse);
  void (* Redraw)(PRENDERER hVideo);
  void (* MakeAbsoluteTopmost)(PRENDERER hVideo);
  void (* SetDisplayFade)(PRENDERER hVideo, int level);
  LOGICAL (* IsDisplayHidden)(PRENDERER video);
  HWND (* GetNativeHandle)(PRENDERER video);
  void (* GetDisplaySizeEx)(int nDisplay , S_32 *x, S_32 *y , _32 *width, _32 *height);
  void (* LockRenderer)(PRENDERER render);
  void (* UnlockRenderer)(PRENDERER render);
  void (* IssueUpdateLayeredEx)(PRENDERER hVideo, LOGICAL bContent, S_32 x, S_32 y, _32 w, _32 h DBG_PASS);
  LOGICAL (* RequiresDrawAll)(void);
};
Members 
Description 
int (* InitDisplay)(void); 
 
void (* SetApplicationTitle)(const TEXTCHAR *title); 
 
void (* SetApplicationIcon)(Image Icon); 
 
void (* GetDisplaySize)(_32 *width, _32 *height); 
 
void (* SetDisplaySize)(_32 width, _32 height); 
 
int (* ProcessDisplayMessages)(void); 
Internal Function - used when idling on the thread from the video render process. This is handled by calling Idle() to wait. 
PRENDERER (* OpenDisplaySizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y); 
 
PRENDERER (* OpenDisplayAboveSizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y, PRENDERER above); 
 
void (* CloseDisplay)(PRENDERER); 
 
void (* UpdateDisplayPortionEx)(PRENDERER, S_32 x, S_32 y, _32 width, _32 height DBG_PASS); 
 
void (* UpdateDisplayEx)(PRENDERER DBG_PASS); 
 
void (* ClearDisplay)(PRENDERER); 
 
void (* GetDisplayPosition)(PRENDERER, S_32 *x, S_32 *y, _32 *width, _32 *height); 
 
void (* MoveDisplay)(PRENDERER, S_32 x, S_32 y); 
 
void (* MoveDisplayRel)(PRENDERER, S_32 delx, S_32 dely); 
 
void (* SizeDisplay)(PRENDERER, _32 w, _32 h); 
 
void (* SizeDisplayRel)(PRENDERER, S_32 delw, S_32 delh); 
 
void (* MoveSizeDisplayRel)(PRENDERER hVideo , S_32 delx, S_32 dely , S_32 delw, S_32 delh); 
 
void (* PutDisplayAbove)(PRENDERER, PRENDERER); 
 
Image (* GetDisplayImage)(PRENDERER); 
 
void (* SetCloseHandler)(PRENDERER, CloseCallback, PTRSZVAL); 
 
void (* SetMouseHandler)(PRENDERER, MouseCallback, PTRSZVAL); 
 
void (* SetRedrawHandler)(PRENDERER, RedrawCallback, PTRSZVAL); 
 
void (* SetKeyboardHandler)(PRENDERER, KeyProc, PTRSZVAL); 
 
void (* SetLoseFocusHandler)(PRENDERER, LoseFocusCallback, PTRSZVAL); 
 
POINTER junk1; 
 
void (* GetMousePosition)(S_32 *x, S_32 *y); 
 
void (* SetMousePosition)(PRENDERER, S_32 x, S_32 y); 
 
LOGICAL (* HasFocus)(PRENDERER); 
 
POINTER junk2; 
Just a place holder value. Some function used to be here. 
POINTER junk3; 
Place Holder value - depricated functions in interface
TEXTCHAR (* GetKeyText)(int key); 
 
_32 (* IsKeyDown)(PRENDERER display, int key); 
 
_32 (* KeyDown)(PRENDERER display, int key); 
 
LOGICAL (* DisplayIsValid)(PRENDERER display); 
 
void (* OwnMouseEx)(PRENDERER display, _32 Own DBG_PASS); 
 
int (* BeginCalibration)(_32 points); 
 
void (* SyncRender)(PRENDERER pDisplay); 
 
int (* EnableOpenGL)(PRENDERER hVideo); 
 
int (* SetActiveGLDisplay)(PRENDERER hDisplay); 
 
void (* MoveSizeDisplay)(PRENDERER hVideo , S_32 x, S_32 y , S_32 w, S_32 h); 
 
void (* MakeTopmost)(PRENDERER hVideo); 
 
void (* HideDisplay)(PRENDERER hVideo); 
 
void (* RestoreDisplay)(PRENDERER hVideo); 
 
void (* ForceDisplayFocus)(PRENDERER display); 
 
void (* ForceDisplayFront)(PRENDERER display); 
 
void (* ForceDisplayBack)(PRENDERER display); 
 
int (* BindEventToKey)(PRENDERER pRenderer, _32 scancode, _32 modifier, KeyTriggerHandler trigger, PTRSZVAL psv); 
 
int (* UnbindKey)(PRENDERER pRenderer, _32 scancode, _32 modifier); 
 
int (* IsTopmost)(PRENDERER hVideo); 
 
void (* OkaySyncRender)(void); 
Used as a point to sync between applications and the message display server; Makes sure that all draw commands which do not have a response are done.

Waits until all commands are processed; which is wait until this command is processed. 
int (* IsTouchDisplay)(void); 
 
void (* GetMouseState)(S_32 *x, S_32 *y, _32 *b); 
 
PSPRITE_METHOD (* EnableSpriteMethod)(PRENDERER render, void(__cdecl*RenderSprites)(PTRSZVAL psv, PRENDERER renderer, S_32 x, S_32 y, _32 w, _32 h ), PTRSZVAL psv); 
 
void (* WinShell_AcceptDroppedFiles)(PRENDERER renderer, dropped_file_acceptor f, PTRSZVAL psvUser); 
 
void (* PutDisplayIn)(PRENDERER hVideo, PRENDERER hContainer); 
 
PRENDERER (* MakeDisplayFrom)(HWND hWnd); 
 
void (* SetRendererTitle)(PRENDERER render, const TEXTCHAR *title); 
 
void (* DisableMouseOnIdle)(PRENDERER hVideo, LOGICAL bEnable); 
 
PRENDERER (* OpenDisplayAboveUnderSizedAt)(_32 attributes, _32 width, _32 height, S_32 x, S_32 y, PRENDERER above, PRENDERER under); 
 
void (* SetDisplayNoMouse)(PRENDERER hVideo, int bNoMouse); 
 
void (* Redraw)(PRENDERER hVideo); 
 
void (* MakeAbsoluteTopmost)(PRENDERER hVideo); 
 
void (* SetDisplayFade)(PRENDERER hVideo, int level); 
 
LOGICAL (* IsDisplayHidden)(PRENDERER video); 
 
HWND (* GetNativeHandle)(PRENDERER video); 
 
void (* GetDisplaySizeEx)(int nDisplay , S_32 *x, S_32 *y , _32 *width, _32 *height); 
 
void (* LockRenderer)(PRENDERER render); 
Locks a video display. Applications shouldn't be locking this, but if for some reason they require it; use this function. 
void (* UnlockRenderer)(PRENDERER render); 
Release renderer lock critical section. Applications shouldn't be locking this surface. 
void (* IssueUpdateLayeredEx)(PRENDERER hVideo, LOGICAL bContent, S_32 x, S_32 y, _32 w, _32 h DBG_PASS); 
Provides a way for applications to cause the window to flush to the display (if it's a transparent window) 
LOGICAL (* RequiresDrawAll)(void); 
Check to see if the render mode is always redraw; changes how smudge works in PSI. If always redrawn, then the redraw isn't done during the smudge, and instead is delayed until a draw is triggered at which time all controls are drawn.
 

This is a function table interface to the video library. Allows application to not be linked to the video portion directly, allowing dynamic replacement.

Created with a commercial version of Doc-O-Matic. In order to make this message disappear you need to register this software. If you have problems registering this software please contact us at support@toolsfactory.com.
Copyright (c) 2000+. All rights reserved.
What do you think about this topic? Send feedback!