Files
projectm/src/projectM-libvisual-alsa/display.h
w1z7ard c94a2baba4 introduction of a libvisual based standalone client for alsa input only.
blatently stolen from libvisual-hackground code base



git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1020 6778bc44-b910-0410-a7a0-be141de4315d
2008-05-23 03:26:02 +00:00

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 */