summaryrefslogtreecommitdiffstats
path: root/gui/win32/skinload.h
diff options
context:
space:
mode:
Diffstat (limited to 'gui/win32/skinload.h')
-rw-r--r--gui/win32/skinload.h213
1 files changed, 213 insertions, 0 deletions
diff --git a/gui/win32/skinload.h b/gui/win32/skinload.h
new file mode 100644
index 0000000000..3103539dc3
--- /dev/null
+++ b/gui/win32/skinload.h
@@ -0,0 +1,213 @@
+/*
+ MPlayer Gui for win32
+ Copyright (c) 2003 Sascha Sommer <saschasommer@freenet.de>
+ Copyright (c) 2006 Erik Augustson <erik_27can@yahoo.com>
+ Copyright (c) 2006 Gianluigi Tiesi <sherpya@netfarm.it>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
+*/
+
+#ifndef _SKINLOAD_H
+#define _SKINLOAD_H
+
+typedef struct
+{
+ char *name; /* image name */
+ int size; /* image data size in bytes */
+ int width; /* image width */
+ int height; /* image height */
+ char *data; /* pointer to image data */
+} image;
+
+typedef struct
+{
+ char c;
+ int x;
+ int y;
+ int width;
+ int height;
+} char_t;
+
+typedef struct
+{
+ char *name;
+ char *id;
+ image *image;
+ unsigned int charcount;
+ char_t **chars;
+} font_t;
+
+typedef struct
+{
+ int id; /* widget id */
+ int type; /* widget type */
+ int window; /* the window it belongs to */
+ // ---
+ int x, y; /* x and y position the button */
+ int wx, wy; /* x and y postion of the widget */
+ int width, height; /* width and height of the button */
+ int wwidth, wheight; /* width and height of the widget */
+ // ---
+ // ---
+ int msg, msg2;
+ int pressed, tmp;
+ int key, key2;
+ int phases;
+ float value;
+ image *bitmap[2]; /* Associated image(s) in imagepool */
+ // ---
+ font_t *font;
+ int length;
+ int align;
+ char *label;
+ // ---
+ int event;
+} widget;
+
+typedef struct
+{
+ char *name;
+ int decoration;
+ int type;
+ widget *base;
+ int backgroundcolor[3];
+ void *priv;
+} window;
+
+typedef struct skin_t skin_t;
+struct skin_t
+{
+ char *skindir;
+ unsigned int widgetcount; /* number of widgets */
+ unsigned int lastusedid; /* which widget id was used last */
+ widget **widgets; /* widget handle */
+ unsigned int imagecount; /* number of images */
+ image **images; /* image handle */
+ int desktopbpp; /* image format of those images */
+ unsigned int fontcount;
+ font_t **fonts;
+
+ unsigned int windowcount; /* number of windows */
+ window **windows;
+ void (*freeskin)(skin_t* skin);
+ void (*addwidget)(skin_t *skin, window *win, const char *desc);
+ void (*removewidget)(skin_t *skin, int id);
+ char *(*geteventname)(int event);
+ image *(*pngRead)(skin_t *skin, unsigned char *fname);
+};
+
+extern skin_t *loadskin(char *skindir, int desktopbpp);
+
+// --- Widget types ---
+
+#define tyBase 1
+#define tyButton 2
+#define tyHpotmeter 3
+#define tyVpotmeter 4
+#define tyPotmeter 5
+#define tyMenu 6
+#define tySlabel 7
+#define tyDlabel 8
+
+// --- Window types ---
+
+#define wiMain 1
+#define wiSub 2
+#define wiMenu 3
+#define wiPlaybar 4
+
+// --- User events ------
+
+#define evNone 0
+#define evPlay 1
+#define evStop 2
+#define evPause 3
+#define evPrev 6
+#define evNext 7
+#define evLoad 8
+#define evEqualizer 9
+#define evPlayList 10
+#define evIconify 11
+#define evAbout 12
+#define evLoadPlay 13
+#define evPreferences 14
+#define evSkinBrowser 15
+#define evPlaySwitchToPause 16
+#define evPauseSwitchToPlay 17
+
+#define evBackward10sec 18
+#define evForward10sec 19
+#define evBackward1min 20
+#define evForward1min 21
+#define evBackward10min 22
+#define evForward10min 23
+
+#define evNormalSize 24
+#define evDoubleSize 25
+#define evFullScreen 26
+
+#define evSetMoviePosition 27
+#define evSetVolume 28
+#define evSetBalance 29
+#define evMute 30
+
+#define evIncVolume 31
+#define evDecVolume 32
+#define evIncAudioBufDelay 33
+#define evDecAudioBufDelay 34
+#define evIncBalance 35
+#define evDecBalance 36
+
+#define evHelp 37
+
+#define evLoadSubtitle 38
+#define evDropSubtitle 43
+#define evPlayDVD 39
+#define evPlayVCD 40
+#define evPlayNetwork 41
+#define evLoadAudioFile 42
+#define evSetAspect 44
+#define evSetAudio 45
+#define evSetVideo 46
+#define evDropFile 47
+#define evPlayCD 48
+
+#define evExit 1000
+
+// --- General events ---
+
+#define evFileLoaded 5000
+#define evHideMouseCursor 5001
+#define evMessageBox 5002
+#define evGeneralTimer 5003
+#define evGtkIsOk 5004
+#define evShowPopUpMenu 5005
+#define evHidePopUpMenu 5006
+#define evSetDVDAudio 5007
+#define evSetDVDSubtitle 5008
+#define evSetDVDTitle 5009
+#define evSetDVDChapter 5010
+#define evSubtitleLoaded 5011
+#define evSetVCDTrack 5012
+#define evSetURL 5013
+
+#define evFName 7000
+#define evMovieTime 7001
+#define evRedraw 7002
+#define evHideWindow 7003
+#define evShowWindow 7004
+#define evFirstLoad 7005
+
+#endif