mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-03-07 16:05:26 +00:00
blatently stolen from libvisual-hackground code base git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1020 6778bc44-b910-0410-a7a0-be141de4315d
70 lines
2.2 KiB
C
70 lines
2.2 KiB
C
#ifndef _LV_STANDALONE_DISPLAY_H
|
|
#define _LV_STANDALONE_DISPLAY_H
|
|
|
|
#include <libvisual/libvisual.h>
|
|
|
|
typedef struct _SADisplayDriver SADisplayDriver;
|
|
typedef struct _SADisplay SADisplay;
|
|
|
|
|
|
typedef int (*SADisplayDriverCreateFunc)(SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions,
|
|
int width, int height, int resizable);
|
|
typedef int (*SADisplayDriverCloseFunc)(SADisplay *display);
|
|
typedef int (*SADisplayDriverLockFunc)(SADisplay *display);
|
|
typedef int (*SADisplayDriverUnlockFunc)(SADisplay *display);
|
|
typedef int (*SADisplayDriverFullScreenFunc)(SADisplay *display, int fullscreen, int autoscale);
|
|
typedef int (*SADisplayDriverGetVideoFunc)(SADisplay *display, VisVideo *video);
|
|
typedef int (*SADisplayDriverUpdateRectFunc)(SADisplay *display, VisRectangle *rect);
|
|
typedef int (*SADisplayDriverDrainEventsFunc)(SADisplay *display, VisEventQueue *eventqueue);
|
|
|
|
struct _SADisplayDriver {
|
|
VisObject object;
|
|
|
|
SADisplayDriverCreateFunc create;
|
|
SADisplayDriverCloseFunc close;
|
|
SADisplayDriverLockFunc lock;
|
|
SADisplayDriverUnlockFunc unlock;
|
|
SADisplayDriverFullScreenFunc fullscreen;
|
|
SADisplayDriverGetVideoFunc getvideo;
|
|
SADisplayDriverUpdateRectFunc updaterect;
|
|
SADisplayDriverDrainEventsFunc drainevents;
|
|
};
|
|
|
|
struct _SADisplay {
|
|
VisObject object;
|
|
|
|
SADisplayDriver *driver;
|
|
VisVideo *screen;
|
|
|
|
VisObject *native;
|
|
|
|
int frames_drawn;
|
|
VisTimer timer;
|
|
};
|
|
|
|
/* prototypes */
|
|
SADisplay *display_new (SADisplayDriver *driver);
|
|
|
|
int display_create (SADisplay *display, VisVideoDepth depth, VisVideoAttributeOptions *vidoptions,
|
|
int width, int height, int resizable);
|
|
|
|
int display_close (SADisplay *display);
|
|
|
|
VisVideo *display_get_video (SADisplay *display);
|
|
|
|
int display_lock (SADisplay *display);
|
|
int display_unlock (SADisplay *display);
|
|
|
|
int display_update_all (SADisplay *display);
|
|
int display_update_rectangle (SADisplay *display, VisRectangle *rect);
|
|
|
|
int display_set_fullscreen (SADisplay *display, int fullscreen, int autoscale);
|
|
|
|
int display_drain_events (SADisplay *display, VisEventQueue *eventqueue);
|
|
|
|
int display_fps_limit (SADisplay *display, int fps);
|
|
int display_fps_total (SADisplay *display);
|
|
float display_fps_average (SADisplay *display);
|
|
|
|
#endif /* _LV_STANDALONE_DISPLAY_H */
|