home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 February / PCWorld_2003-02_cd.bin / Software / Vyzkuste / Prehravacedivx / Prehravacedivx.exe / zplay290.exe / Skin / brownish.skn < prev    next >
Text File  |  2002-11-06  |  42KB  |  756 lines

  1. Future Brownish Media Skin (sample) by Blight
  2. // First line must be the description... don't put any comments before it.
  3. //
  4. //
  5. // This file is file is a semi-tutorial on how to create Zoom Player skins.
  6. // It shows you the exact structure used to create the default media skin.
  7. // It is only a sample file and is not required for Zoom Player to operate.
  8. //
  9. //
  10. // Constants:
  11. //
  12. // <WinWidth>       - Width in Pixels of Window
  13. // <WinHeight>      - Height in Pixels of Window
  14. // <WinHalfWidth>   - Width in Pixels of Window divided by 2 (useful for screen-centering)
  15. // <WinHalfHeight>  - Height in Pixels of Window divided by 2 (useful for screen-centering)
  16. // <VidWidth>       - Width in Pixels of Video Area
  17. // <VidHeight>      - Height in Pixels of Video Area
  18. // <ARWidth>        - Width in Pixels of Video Area with Aspect Ratio Adjustment
  19. // <ARHeight>       - Height in Pixels of Video Area with Aspect Ratio Adjustment
  20. // <FileName>       - Name of Currently loaded file (full path)
  21. // <FileTitle>      - Name of Currently loaded file (file name+extension)
  22. // <FileBase>       - Name of Currently loaded file (file name only, no extension or path)
  23. // <cBarWidth>      - Width in Pixels of Control Bar after deducting the space used by the buttons
  24. // <cBarHeight>     - Height in Pixels of Control Bar
  25. // <cBarHalfWidth>  - Width in Pixels of Control Bar after deducting the space used by the buttons divided by 2
  26. // <cBarHalfHeight> - Height in Pixels of Control Bar divided by 3
  27. // <ovColor>        - Overlay Color RGB (can be used for transparency with the Control Bar)
  28. // <Time>           - Current Time Display
  29. // <TimeRemain>     - Time Remaining
  30. // <Duration>       - Total Duration of playing content
  31. // <DVDChapter>     - Current DVD Chapter
  32. // <DVDTitle>       - Current DVD Title
  33. // <DVDVolume>      - Current DVD Volume Label
  34. //
  35. // Vars:
  36. //
  37. // SkinFileName   - Name of non-compressed (8bit/24bit) BMP image that contains all the skin graphics
  38. // TimelineCursor - Name of a Cursor file that will be used for timeline seeking
  39. // iWinWidth      - Initial Window Width
  40. // iWinHeight     - Initial Window Height
  41. // iVidWidth      - Initial Video Width
  42. // iVidHeight     - Initial Video Height
  43. // iVidLeft       - Initial Video Position in pixels from left position of Window
  44. // iVidTop        - Initial Video Position in pixels from top position of Window
  45. // iMinWidth      - Minimum Video Width (It's recommended keep the minimum Width/Height to a 4:3 aspect ratio)
  46. // iMinHeight     - Minimum Video Height
  47. // iTransColor    - Hex RGB Value of the color used for Window Transparency
  48. // RateLeft       - Left Position of Rate bar witin window
  49. // RateTop        - Top Position of Rate bar witin window
  50. // tLineWidth     - TimeLine Width
  51. // tLineHeight    - TimeLine Height
  52. // tLineLeft      - TimeLine position in pixels from left position of Window
  53. // tLineTop       - TimeLine position in pixels from top position of Window
  54. // tLineColor     - TimeLine Color (Hex RGB Value, like on web pages.  Not required if a bitmap is set using TimeLineFG)
  55. // tLineFontSize  - TimeLine Font Size
  56. // tLineFontYOfs  - TimeLine Font Y-Offset in pixels (can be negative value)
  57. // tLineFontFace  - TimeLine Font Name
  58. // tLineFontColor - TimeLine Font Color
  59. // tLineFontStyle - Bold and Italic, example : tLineFontStyle = (Bold|Italic), To disable style use (None) as value.
  60. // cBarFontSize   - Control Bar Font Size
  61. // cBarFontYOfs   - Control Bar Font Y-Offset in pixels (can be negative value)
  62. // cBarFontFace   - Control Bar Font Name
  63. // cBarFontColor  - Control Bar Font Color
  64. // cBarFontStyle  - Bold and Italic, example : CBarFontStyle = (Bold|Italic), To disable style use (None) as value.
  65. // cBarButWidth   - Control Bar Button Width (must be set before any buttons are added to the control bar)
  66. // cBarButHeight  - Control Bar Button Height (same as width, but also sets the height of the control bar)
  67. // cBarTLColor    - Control Bar TimeLine Color (Not required if a bitmap is set using TimeLineCBarFG)
  68. // cBarTLWidth    - Width of the Control Bar time line
  69. // cBarTLHeight   - Height of the Control Bar time line
  70. // cBarTLLeft     - Control Bar TimeLine position in pixels from left position of Control Bar
  71. // cBarTLTop      - Control Bar TimeLine position in pixels from top position of Control Bar
  72. //
  73. //
  74. //
  75. // Functions:
  76. //
  77. //
  78. // FillRect(DestX,DestY,Width,Height,RGBColor)
  79. //
  80. //   - Fill a rectangle with a specific Hex RGB color
  81. //     (000000=Black, FF0000=Red, 00FF00=Green, 0000FF=Blue, FFFFFF=White, exactly like in HTML).
  82. //
  83. //
  84. // FillMask(SrcX,SrcY,Width,Height,DestX,DestY,SrcRGBColor,DestRGBColor)
  85. //
  86. //   - Fill a mask by filling any color that doesn't match the SrcRGBColor with
  87. //     the DestRGBColor.  This can be used on non-rectangular buttons that have
  88. //     a transparent background and thus should have a masked drawn behind them
  89. //     so that they don't become transparent themselves.
  90. //
  91. //
  92. // CopyBitmap(SrcX,SrcY,Width,Height,DestX,DestY)
  93. //
  94. //   - Copy a bitmap from the skin image to the user interface.
  95. //
  96. //
  97. // CopyStretchedBitmap(SrcX,SrcY,SrcWidth,SrcHeight,DestX,DestY,DestWidth,DestHeight)
  98. //
  99. //   - Copy a bitmap from the skin image to the user interface stretching it to fit the specified rectangle.
  100. //     This function is rather CPU intensive.
  101. //
  102. //
  103. // CopyTransBitmap(SrcX,SrcY,Width,Height,DestX,DestY,RGBColor)
  104. //
  105. //   - Copy a Color Keyed transparent bitmap from the skin image to the user interface.
  106. //     The color specified by the RGBColor is considered transparent and won't be copied
  107. //     This function can be CPU intensive if used extensively.
  108. //
  109. //
  110. // CopyMaskedBitmap(SrcX,SrcY,Width,Height,DestX,DestY)
  111. //
  112. //   - Copy an Alpha Masked bitmap from the skin image to the user interface.
  113. //     An Alpha mask is a gray representation of the image where black means no
  114. //     copying to be done and white means full copying.  Any gray value in between
  115. //     determines what percentage to mix between the background and foreground bitmaps.
  116. //     The Alpha mask must the aligned to the right of the source image and match it's size.
  117. //     This function can be CPU intensive if used extensively.
  118. //
  119. //
  120. // TileBitmapV(SrcX,SrcY,Width,Height,DestX,DestY,FillHeight)
  121. //
  122. //   - Tile bitmap vertically to fill a specific number of pixels.
  123. //
  124. //
  125. // TileBitmapH(SrcX,SrcY,Width,Height,DestX,DestY,FillWidth)
  126. //
  127. //   - Tile bitmap horizontally to fill a specific number of pixels.
  128. //
  129. //
  130. // TileBitmapA(SrcX,SrcY,Width,Height,DestX,DestY,FillWidth,FillHeight)
  131. //
  132. //   - Tile bitmap to fill an area of specific number of pixels.
  133. //
  134. //
  135. // GradientRectH(DestX,DestY,Width,Height,RGBColor1,RGBColor2)
  136. //
  137. //   - Fill a rectangle with a horizontal gradient from RGBColor1 to RGBColor2
  138. //     Doing gradient fills may be CPU intensive.
  139. //
  140. //
  141. // GradientRectV(DestX,DestY,Width,Height,RGBColor1,RGBColor2)
  142. //
  143. //   - Fill a rectangle with a vertical gradient from RGBColor1 to RGBColor2
  144. //     Doing gradient fills may be CPU intensive.
  145. //
  146. //
  147. // TimeLineBG(SrcX,SrcY,Width)
  148. //
  149. //   - Bitmap positioning used for the User Interface TimeLine background, height must be the same as tLineHeight.
  150. //
  151. //
  152. // TimeLineFG(SrcX,SrcY,Width)
  153. //
  154. //   - Bitmap positioning used for the User Interface TimeLine foreground, height must be the same as tLineHeight.
  155. //     Using this function enables the Time Line (makes it visible) on the main user interface.
  156. //     Using this function means that a bitmap will be used instead of a color for the action portion of the timeline.
  157. //
  158. //
  159. // TimeLineActive(SrcX,SrcY,Width,Height,XOffset,YOffset)
  160. //
  161. //   - This is an optional function if bitmapped TimeLine is used.  It allows you to specify a bitmap to be drawn
  162. //     at the currently active timeline position.  SrcX, SrcY and Width are pretty self explanetory.  The XOffset
  163. //     and YOffset allows you to specify how many pixels to move the bitmap to the right and down (by default the
  164. //     bitmap is drawn at the top of the timeline and to the left of the currently active position (taking into
  165. //     account the width of the bitmap).
  166. //
  167. //
  168. // TimeLineStart(SrcX,SrcY,Width)
  169. //
  170. //   - Specify a start bitmap for the timeline, the bitmap height should match the timeline bitmap height and like
  171. //     with buttons, it should actually be comprised of two bitmaps drawn next to each other (on the right) of the
  172. //     active and inactive timeline states (highlighted/non-highlighted).  The width specified is only of the first
  173. //     image, the inactive image on the right should be the same width and height.
  174. //
  175. //
  176. // TimeLineEnd(SrcX,SrcY,Width)
  177. //
  178. //   - Same as TimeLineStart, but for the end (right side) of the timeline.
  179. //
  180. //
  181. // VolumeExData(SrcX=Value,SrcY=Value,DestX=Value,DestY=Value,Width=Value,Height=Value,Images=Value,Vertical=True/False)
  182. //
  183. //   - This function sets all the neccessery data to enable the user-interface volume controls.
  184. //   - Parameters:
  185. //     SrcX          : X-Offset from source image to the location Bitmap data.
  186. //     SrcY          : Y-Offset from source image to the location Bitmap data.
  187. //     DestX         : Destination X-Offset on the Skin.
  188. //     DestY         : Destination Y-Offset on the Skin.
  189. //     Width         : Width of a Single Volume Image.
  190. //     Height        : Width of a Single Volume Image.
  191. //     Images        : Number of Volume Images, Image are expected to be drawn aligned to the bottom of each image.
  192. //     Vertical      : Can be either "True" or "False", determines how the volume reacts to a user click (horizontally or vertically).
  193. //
  194. //     The Parameter order isn't important, just that the values are being passed.  The Vertical
  195. //     parameter is optional, by default the volume bar is horizontal.
  196. //     Example:
  197. //     VolumeExData(SrcX=208,SrcY=0,DestX=<WinWidth>-50,DestY=<WinHeight>-50,Width=42,Height=14,Images=12,Vertical=False)
  198. //
  199. //
  200. // RateExData(SrcX=Value,SrcY=Value,DestX=Value,DestY=Value,Width=Value,Height=Value,Images=Value,Vertical=True/False)
  201. //
  202. //   - This function sets all the neccessery data to enable the user-interface play rate controls.
  203. //     Make sure you have 7 images drawn for rate positions, as seen in the brownish.bmp file.
  204. //   - Parameters:
  205. //     SrcX          : X-Offset from source image to the location Bitmap data.
  206. //     SrcY          : Y-Offset from source image to the location Bitmap data.
  207. //     DestX         : Destination X-Offset on the Skin.
  208. //     DestY         : Destination Y-Offset on the Skin.
  209. //     Width         : Width of a Single Volume Image.
  210. //     Height        : Width of a Single Volume Image.
  211. //
  212. //     The Parameter order isn't important, just that the values are being passed.  The Vertical
  213. //     parameter is optional, by default the volume bar is horizontal.
  214. //     Example:
  215. //     RateExData(SrcX=208,SrcY=0,DestX=<WinWidth>-50,DestY=<WinHeight>-50,Width=42,Height=14)
  216. //
  217. //
  218. // ResizeBox(XOfs,YOfs,Width,Height,CursorType)
  219. //   - If you have transparent skin where the edges of the window are transparent,
  220. //     you may want to define a "ResizeBox".  When the mouse moves over the
  221. //     ResizeBox designated area, the cursor will change to a resize cursor and
  222. //     allow the forum to be resized from that position.
  223. //     The Values of CursorType can be:
  224. //     0 - Bottom Right Corner
  225. //     1 - Bottom Left Corner
  226. //     2 - Top Right Corner
  227. //     3 - Top Left Corner
  228. //
  229. //     Example:
  230. //     ResizeBox(<WinWidth>-40,<WinHeight>-40,10,10,0)
  231. //
  232. //
  233. // DrawText(DestX,DestY,FontName,FontSize,FontColorRGB,FontStyle,Text,Case)
  234. //
  235. //   - This function has been replaced with "DrawExText", see below.
  236. //     This function doesn't support dynamic constants properly, so make sure you use "DrawExText".
  237. //   - Draw text anywhere on the user interface.
  238. //     The FontStyle has the same format as the tLineFontStyle.
  239. //
  240. //     The Case entry can have the following values:
  241. //     0 - Text unchanged
  242. //     1 - Text converted to lowercase
  243. //     2 - Text converted to uppercase
  244. //     3 - First letter of text converted to uppercase, rest lowercase.
  245. //
  246. //
  247. // DrawExText(DestX=Value,DestY=Value,Width=Value,Height=Value,Align=Value,Case=Value,WordWrap=Value
  248. //           ,FontName=Value,FontSize=Value,FontColor=Value,FontStyle=Value,Text=Value)
  249. //
  250. //   - Parameters:
  251. //     DestX         : Destination X-Offset on the Skin.
  252. //     DestY         : Destination Y-Offset on the Skin.
  253. //     Width         : Maximum Width of Text (used for clipping).
  254. //     Height        : Maximum Height of Text (used for clipping).
  255. //     Align         : Text Alignment, values can be "Left, Center or Right" (Default "Left").
  256. //     Case          : Uppercase/Lowercase Structure, values can be "None,Lower,Upper,UpFirst" (Default "None").
  257. //     WordWrap      : Value can be True or False, if True and the text doesn't fit the width, it is word wrapped (Default "False").
  258. //     FontName      : The Name of the Font, i.e. Arial, Times New Romand, etc...
  259. //     FontSize      : Size of Font (approximate height in pixels).
  260. //     FontColor     : RGB value indicating the Font Color.
  261. //     FontStyle     : Bold, Italic, Both or None, if both then separated by "|" (i.e. "Bold|Italic") (Default "None").
  262. //     Text          : String that should be displayed, can including dynamic content by using Constants (see above).
  263. //
  264. //   - This function allows you to draw text anywhere on the user interface.  The Text content is
  265. //     updated every time the user interface is resized and once per second (while not in fullscreen).
  266. //     This allows you to draw dynamic text such as Time, DVD Chapter, etc...
  267. //     Example:
  268. //     DrawExText(DestX=5,DestY=5,Width=<WinWidth>-10,Height=20,Align=Center,Case=UpFirst,FontName=Arial,FontSize=11,FontColor=FFFFFF,FontStyle=Bold,Text=<FileName>)
  269. //
  270. //
  271. // CreateButton(SrcX,SrcY,Width,Height,DestX,DestY,Function,Hint,Transparent)
  272. //
  273. //   - This function has been replaced with "CreateExButton", see below.
  274. //   - Creates a button with a function assigned with the function setting,
  275. //     possible function values are:
  276. //     000 - fnPlay           - Play / Pause
  277. //     001 - fnPause          - Pause
  278. //     002 - fnStop           - Stop
  279. //     003 - fnStopToFirst    - Stop to First Track
  280. //     004 - fnNextChapter    - Go to Next Chapter (Internal or OGM in Media mode and DVD Bookmark in DVD mode)
  281. //     005 - fnPrevChapter    - Go to Previous Chapter (Internal or OGM or OGM in Media mode and DVD Bookmark in DVD mode)
  282. //     006 - fnNextTrack      - Go to Next Track
  283. //     007 - fnPrevTrack      - Go to Previous Track
  284. //     008 - fnNextFrame      - Frame Step Forward
  285. //     009 - fnPrevFrame      - Frame Step Backward
  286. //     010 - fnNextVid        - Play Next Video in current directory
  287. //     011 - fnPrevVid        - Play Previous Video in current directory
  288. //     012 - fnSkipForward    - Skip forward a specified number of seconds
  289. //     013 - fnSkipBackward   - Skip backward a specified number of seconds
  290. //     014 - fnJumpForward    - Jump forward a specified number of seconds
  291. //     015 - fnJumpBackward   - Jump backward a specified number of seconds
  292. //     016 - fnSeekForward    - Seek forward a specified number of seconds
  293. //     017 - fnSeekBackward   - Seek backward a specified number of seconds
  294. //     018 - fnFastForward    - Play in Fast Forward
  295. //     019 - fnRewind         - Rewind Playback (only in DVD mode)
  296. //     020 - fnSlowMotion     - Play in Slow Motion
  297. //     021 - fnHalfFF         - Half Fast forward speed
  298. //     022 - fnHalfSM         - Half Slow Motion speed
  299. //     023 - fnVolUp          - Increase Volume
  300. //     024 - fnVolDown        - Decrease Volume
  301. //     025 - fnMute           - Mute Volume (ON/OFF)
  302. //     026 - fnABRepeat       - Start, Stop and Cancel AB-Repeat
  303. //     027 - fnPlayEndCycle   - Cycle through the "On Play Complete" values
  304. //     028 - fnZoomAxis       - Toggles the Zoom Axis (used with Zoom-In / Zoom-Out)
  305. //     029 - fnZoomIn         - Zoom into video (enlarge video area)
  306. //     030 - fnZoomOut        - Zoom out of video (shrink video area)
  307. //     031 - fnZoomInWidth    - Stretch the video width
  308. //     032 - fnZoomOutWidth   - Shrink the video width
  309. //     033 - fnZoomInHeight   - Stretch the video height
  310. //     034 - fnZoomOutHeight  - Shrink the video height
  311. //     035 - fnZoom           - Zoom Mode
  312. //     036 - fnFullScreen     - Fullscreen Mode
  313. //     037 - fnFitSource      - Resize video to the original source size
  314. //     038 - fnMax            - Maximize video/window to fullscreen
  315. //     039 - fnMinimize       - Minimize Player
  316. //     040 - fnARCycle        - Cycle through Aspect Ratio settings
  317. //     041 - fnRevARCycle     - Reverse Cycle through Aspect Ratio settings
  318. //     042 - fnBar            - Control Bar Show / Hide
  319. //     043 - fnOSD            - On Screen Display Toggle (ON/OFF)
  320. //     044 - fnOpen           - Open File
  321. //     045 - fnOpenDir        - Open Directory
  322. //     046 - fnInfo           - Playback Information Dialog
  323. //     047 - fnOptions        - Options Dialog
  324. //     048 - fnPresets        - Presets Dialog
  325. //     049 - fnPlayList       - PlayList Dialog
  326. //     050 - fnChapter        - Chapter / Bookmark Editor Dialog
  327. //     051 - fnSkin           - Skin Selector
  328. //     052 - fnKeyHelp        - Opens the Keyboard Hotkey Dialog
  329. //     053 - fnExit           - Exit application
  330. //     054 - fnAddChapter     - Add Current Position to Chapter Editor
  331. //     055 - fnSaveChapter    - Save Chapter List
  332. //     056 - fnDVDMode        - Switch between the Media and DVD Modes
  333. //     057 - fnDVDRootMenu    - Go to the DVD's Root Menu
  334. //     058 - fnDVDTitleMenu   - Go to the DVD's Title Menu
  335. //     059 - fnDVDSubMenu     - Go to the DVD's Subtitle Menu
  336. //     060 - fnDVDAudioMenu   - Go to the DVD's Audio Menu
  337. //     061 - fnDVDAngleMenu   - Go to the DVD's Angle Menu
  338. //     062 - fnDVDChapterMenu - Go to the DVD's Chapter Menu
  339. //     063 - fnDVDMenuLeft    - Move left on a DVD Menu
  340. //     064 - fnDVDMenuRight   - Move right on a DVD Menu
  341. //     065 - fnDVDMenuUp      - Move up on a DVD Menu
  342. //     066 - fnDVDMenuDown    - Move down on a DVD Menu
  343. //     067 - fnDVDMenuSelect  - Activate selected Menu item
  344. //     068 - fnDVDCC          - Closed Captions ON/OFF
  345. //     069 - fnDVDAngle       - Cycle through DVD Angles or OGG Video Tracks when in Media mode.
  346. //     070 - fnDVDSub         - Cycle through DVD Subtitles or VobSub/OGG Subtitle Tracks when in Media mode.
  347. //     071 - fnAudioTrack     - Cycle through Media or DVD Audio Tracks
  348. //     072 - fnStayOnTop      - Stay On Top (ON / OFF)
  349. //     073 - fnMPEG4          - MPEG4/DivX/Video Decoder Dialog (if filter is in use)
  350. //     074 - fnSub            - Opens the VobSub dialog (if filter is in use)
  351. //     075 - fnAudioFilter    - TFM/DeDynamic Audio Filter Dialog (if filter is in use)
  352. //     076 - fnIncRate        - Increase Play rate
  353. //     077 - fnDecRate        - Decrease Play rate
  354. //     078 - fnPrevFilterFile - Previous Manual Filter File ** disabled **
  355. //     079 - fnNextFilterFile - Next Manual Filter File  ** disabled **
  356. //     080 - fnSaveDF         - Save Definition File for the currently open media
  357. //     081 - fnFrameCapture   - Frame capture (filter must be manually enabled)
  358. //     082 - fnPattern        - Cycle Pattern Modes
  359. //     083 - fnEject          - Eject the selected drive (ZIP,JAZ,Sparq, SyJet, etc. plus any CD-Roms)
  360. //     084 - fnOverlayControl - Show/Hide Overlay Color Control Interface
  361. //     085 - fnOverlayApply   - Apply the Overlay Color Controls (same as button in options)
  362. //     086 - fnOverlayReset   - Reset the Overlay Color Controls back to their default settings
  363. //     087 - fnIncBrightness  - Increase Overlay Brightness
  364. //     088 - fnDecBrightness  - Decrease Overlay Brightness
  365. //     089 - fnIncContrast    - Increase Overlay Contrast
  366. //     090 - fnDecContrast    - Decrease Overlay Contrast
  367. //     091 - fnIncGamma       - Increase Overlay Gamma
  368. //     092 - fnDecGamma       - Decrease Overlay Gamma
  369. //     093 - fnIncHue         - Increase Overlay Hue
  370. //     094 - fnDecHue         - Decrease Overlay Hue
  371. //     095 - fnIncSaturation  - Increase Overlay Saturation
  372. //     096 - fnDecSaturation  - Decrease Overlay Saturation
  373. //     097 - fnUnpause        - Unpause the video (Discrete Play)
  374. //     098 - fnAddALBookmark  - Add DVD Auto-Load Bookmark (DVD Only)
  375. //     099 - fnSeekToStart    - Seek to start of Video
  376. //     100 - fnAudioDecoder   - Pop the property dialog of filters with "Audio Decoder" in their titles
  377. //     101 - fnDVDMenuPrev    - Return from DVD Sub-Menu.  If on Top Menu then Resume playback.
  378. //     102 - fnChapterNav     - Show/Hide the Chapter/Bookmark Navigator dialog
  379. //     103 - fnPlayListNav    - Show/Hide the Play List Navigator dialog
  380. //     104 - fnFileNav        - Show/Hide the File Navigator dialog
  381. //     105 - fnBlankingNav    - Show/Hide the Blanking Navigator dialog
  382. //     106 - fnBlankingPreset - Show/Hide the Blanking Presets dialog
  383. //     107 - fnBlanking       - Show/Hide the Video Blanking
  384. //     108 - fnRandomPlay     - Turns Random (shuffle) Play ON/OFF
  385. //     109 - fnResizeNav      - Show/Hide the Resize Navigator dialog
  386. //     110 - fnDisableDVDSub  - Disable DVD Subtitle in DVD mode or VobSub/OGG Subtitles in Media mode
  387. //     111 - fnPresetCycle    - Cycle through Video Position Presets
  388. //     112 - fnRevPresetCycle - Reverse Cycle through Video Position Presets
  389. //     113 - fnBlankCycle     - Cycle through Blanking Position Presets
  390. //     114 - fnRevBlankCycle  - Reverse Cycle through Blanking Position Presets
  391. //     115 - fnDVDPlayStart   - Play DVD bypassing Auto-Bookmark loading features
  392. //     116 - fnNextArrowFunc  - Next Active Arrow Control function
  393. //     117 - fnPrevArrowFunc  - Previous Active Arrow Control function
  394. //     118 - fnAutoARToggle   - Enable/Disable Automatic DVD Aspect Ratio
  395. //     119 - fnFrameZeroALBM  - Attempt setting a DVD Auto-Load bookmark at frame zero (DVD Only)
  396. //     120 - fnPauseAtEOF     - Pause Playback at end of currently playing file (Media Only)
  397. //     121 - fnSceneCut       - Show/Hide the Scene Cut Editor
  398. //     122 - fnGoTo           - Show/Hide the GoTo Timeline dialog
  399. //     123 - fnGoToNav        - Show/Hide the GoTo Timeline Navigator interface
  400. //     124 - fnMWFuncNav      - Show/Hide the Mouse Wheel Function Navigator interface
  401. //     125 - fnLoop           - Switch between Do Nothing and Auto Reply on Play Complete
  402. //     126 - fnBalanceLeft    - Move Audio Balance to the Left
  403. //     127 - fnBalanceRight   - Move Audio Balance to the Right
  404. //     128 - fnOpenDrive      - Open an entire drive
  405. //
  406. //     The numbers to the left of the function names can be used with a remote control device
  407. //     to relay the command to zoom player.  The message number is "32817", the value to the
  408. //     left should be assigned to the WParam as the function you want to execute and the LParam
  409. //     should be set to "0".  For more information on message control see the "default.key" file.
  410. //
  411. //     When specifying the source, you need to make sure that the button "up" image
  412. //     is at the specified location, and the button "down" image, is directly to it's
  413. //     right (no spacing), and of course, it must be the same width and height.
  414. //
  415. //     The Hint setting is what pop-up hint will show when the mouse is over the
  416. //     button for a few seconds.  The setting is optional but must be entered if you plan
  417. //     to use the transparency setting.
  418. //
  419. //     The transparent RGB value determines if a certain color in the button image is to
  420. //     be considered transparent.  Transparency makes for non-rectangular buttons.  The Button Up
  421. //     image is used to generate the transparent area.  This setting is optional.
  422. //
  423. //
  424. // CreateExButton(Type=Value,SrcX=Value,SrcY=Value,Width=Value,Height=Value,HoverX=Value,HoverY=Value,
  425. //                AlphaX=Value,AlphaY=Value,DestX=Value,DestY=Value,Function=Value,FunctionParam=Value,
  426. //                StringParam=Value,TransColor=Value,Hint=Value)
  427. //
  428. //   - Parameters:
  429. //     Type          : Type of Button (see below) (Default = "Normal")
  430. //     SrcX          : X-Offset from source image to the location Bitmap data, Button Up graphics.
  431. //     SrcY          : Y-Offset from source image to the location Bitmap data
  432. //     DownX         : X-Offset from source image to the location of the Button Down Bitmap (Optional, by default it's SrcX+Width)
  433. //     DownY         : Y-Offset from source image to the location of the Button Down Bitmap (Optional, by default it's SrcY)
  434. //     HoverX        : X-Offset from source image to the location of the Hover (mouse-over) Bitmap (also enables Hover Bitmap)
  435. //     HoverY        : Y-Offset from source image to the location of the Hover (mouse-over) Bitmap
  436. //     AlphaX        : X-Offset from source image to the location of the Alpha (Alpha Masking) Bitmap (also enables Alpha Masking)
  437. //     AlphaY        : Y-Offset from source image to the location of the Alpha (Alpha Masking) Bitmap
  438. //     Width         : Width of Button
  439. //     Height        : Height of Button
  440. //     DestX         : Destination X-Offset on the Skin
  441. //     DestY         : Destination Y-Offset on the Skin
  442. //     Function      : Either "fn" function (list above) or "ex" function (see default.key file) depending on "type" parameter.
  443. //     FunctionParam : Used in combination with "ex" functions to pass a parameter to the function.
  444. //     StringParam   : A string parameter passed to certain button types.
  445. //     TransColor    : A color-keyed transparent button, an RGB value indicating the transparent colorkey.
  446. //     Hint          : A string containing the pop-up description of the button.
  447. //
  448. //   - This function replaces the standard "CreateButton" function in newer skin.  Instead of entering
  449. //     parameters in a specific order, you can use any order but the value tag must be used, for example:
  450. //     CreateExButton(Type=Normal,Function=fnMax,Hint=Maximize Window,SrcX=20,SrcY=10,DestX=100,DestY=<WinWidth>-100,Width=25,Height=25,TransColor=FF00FF)
  451. //
  452. //     As you can see, the order of the other parameters isn't important.  Furthermore, not all parameters
  453. //     are needed, some parameters have different requirements depending on the button "Type" and some
  454. //     (like Hint and AlphaX/Y) are optional altogether.
  455. //
  456. //     Here are the possible values of the "Type" parameter:
  457. //     "Normal"   - Standard Button, accepts usual "fn" functions (see list above).
  458. //     "Filter"   - Instead of calling a function, this button opens a filter's property dialog.
  459. //                  The filter name is passed in the "StringParam" value and can contain multiple
  460. //                  sub-strings so that you could open different filters with one button (such as
  461. //                  all Video Decoders).   Example "StringParam=DIVX|XVID|MPEG4".
  462. //     "Extended" - Extended buttons are similar to the normal buttons with the exception that they
  463. //                  use the Extended functions (see default.key file for a list).  In addition to
  464. //                  the "Function" value, you must also supply the "FunctionParam" value so that it
  465. //                  could be passed on to the Function.  For example, when "Function=exSetAR", setting
  466. //                  "FunctionParam=1" will set the Aspect Ratio mode to "Source Aspect Ratio".
  467. //     "Skin"     - Use this button-type to replace the Zoom Player skin with a single button.
  468. //                  The StringParam value is assigned the new skin name (i.e. "brownish.skn").
  469. //
  470. //     Note, Alpha blending by default is disabled,  if you enable Alpha blended buttons by using the "AlphaX"
  471. //     parameter, you should make sure that the button is listed toward the end of the skin file after the
  472. //     background it should  be blended against has already been drawn!  Another thing is that Alpha Blending
  473. //     only works against the background and not against other buttons.  Using Alpha Blended icons is quite CPU
  474. //     intensive when the skin is drawn/resized.
  475. //
  476. //     See "brownish.skn" and "brownishdvd.skn" files for multiple examples of this function.  Using this
  477. //     function is slightly faster loading than "CreateButton".
  478. //
  479. //
  480. // AddBarButton(SrcX,SrcY,Function,Hint)
  481. //
  482. //   - Unlike the CreateButton function, this button adds optional buttons to the Control Bar.
  483. //     Every button you add can be turned ON/OFF by the user through the Bar Button options dialog.
  484. //     However, only buttons you skinned are accessible to the user.  Due to this, I request that
  485. //     at the very least skin the control bar buttons used by this sample skin.
  486. //     The function parameter can contain the same values as specified in the CreateButton function.
  487. //   - The Hint Value is optional, not entering a paramater means that there isn't a hint.
  488. //
  489. //
  490. // The following commands perform the exact function as the above, but apply to the Control Bar.
  491. //
  492. // CopyCBarBitmap(SrcX,SrcY,Width,Height,DestX,DestY)
  493. // CopyCBarStretchedBitmap(SrcX,SrcY,SrcWidth,SrcHeight,DestX,DestY,SrcWidth,SrcHeight)
  494. // CopyCBarTransBitmap(SrcX,SrcY,Width,Height,DestX,DestY,RGBColor)
  495. // CopyCBarMaskedBitmap(SrcX,SrcY,Width,Height,DestX,DestY)
  496. // TileCBarBitmapV(SrcX,SrcY,Width,Height,DestX,DestY,FillHeight)
  497. // TileCBarBitmapH(SrcX,SrcY,Width,Height,DestX,DestY,FillWidth)
  498. // TileCBarBitmapA(SrcX,SrcY,Width,Height,DestX,DestY,FillWidth,FillHeight)
  499. // FillCBarRect(DestX,DestY,Width,Height,RGBColor)
  500. // TimeLineCBarBG(SrcX,SrcY,Width)
  501. // TimeLineCBarFG(SrcX,SrcY,Width)
  502. // TimeLineCBarActive(SrcX,SrcY,Width,Height,XOffset,YOffset)
  503. // TimeLineCBarStart(SrcX,SrcY,Width)
  504. // TimeLineCBarEnd(SrcX,SrcY,Width)
  505. //
  506. //
  507. // Comments:
  508. //
  509. // All the dynamic settings and functions can accept SIMPLE 2 item math.  Basically you
  510. // can do addition and subtraction, nothing else.  This is only used so you can position
  511. // items relative to the window size.
  512. //
  513. // Make sure you set all variables, otherwise when switching skins, some data will
  514. // remain from the older skin.
  515. //
  516. // Double check for Typos and corruct structure (as shown in the sample below), when
  517. // loading the skin, not a lot of error checking is performed, and you can easily
  518. // cause the player to crash!
  519. //
  520.  
  521. // Base Information used when loading the skin:
  522. SkinFileName    = (brownish.bmp)
  523.  
  524. // Initial settings:
  525. iWinWidth       = (430)
  526. iWinHeight      = (360)
  527. iVidWidth       = (400)
  528. iVidHeight      = (300)
  529. iVidLeft        = (4)
  530. iVidTop         = (4)
  531. iMinWidth       = (352)
  532. iMinHeight      = (264)
  533. tLineFontSize   = (10)
  534. tLineFontYOfs   = (0)
  535. tLineFontFace   = (Tahoma)
  536. tLineFontColor  = (FFFFFF)
  537. tLineFontStyle  = (Bold)
  538. cBarFontSize    = (10)
  539. cBarFontYOfs    = (0)
  540. cBarFontFace    = (Tahoma)
  541. cBarFontColor   = (FFFFFF)
  542. cBarFontStyle   = (Bold)
  543. cBarButWidth    = (25)
  544. cBarButHeight   = (24)
  545. //iTransColor     = (B5968C)
  546.  
  547. // Dynamic settings (items with window-size relative positioning):
  548. tLineWidth      = (<WinWidth>-220)
  549. tLineHeight     = (14)
  550. tLineLeft       = (21)
  551. tLineTop        = (<WinHeight>-47)
  552.  
  553. cBarTLWidth     = (<cBarWidth>-12)
  554. cBarTLHeight    = (14)
  555. cBarTLLeft      = (6)
  556. cBarTLTop       = (5)
  557.  
  558. // TimeLine background and foreground source bitmap position
  559. TimeLineBG(57,4,40)
  560. TimeLineFG(17,4,40)
  561.  
  562. // User Interface elements such as Volume and Play Rate Controls
  563. VolumeExData(SrcX=208,SrcY=0,DestX=<WinWidth>-155,DestY=<WinHeight>-47,Width=42,Height=14,Images=12)
  564. RateExData(SrcX=172,SrcY=0,DestX=<WinWidth>-87,DestY=<WinHeight>-47,Width=35,Height=14)
  565.  
  566. // Control Bar TimeLine background source bitmap position
  567. TimeLineCBarBG(113,55,40)
  568. TimeLineCBarFG(73,55,40)
  569.  
  570. // Control Bar and Integrated timeline Bitmap Separator (active/inactive areas)
  571. TimeLineActive(65,55,2,14,1,0)
  572. TimeLineCBarActive(69,55,2,14,1,0)
  573.  
  574. // Left Control Bar Side
  575. CopyCBarBitmap(115,0,6,24,0,0)
  576.  
  577. // Right Control Bar Side
  578. CopyCBarBitmap(121,0,6,24,<cBarWidth>-6,0)
  579.  
  580. // Top Control Bar Bar
  581. TileCBarBitmapH(128,0,40,5,6,0,<cBarWidth>-12)
  582.  
  583. // Bottom Control Bar Bar
  584. TileCBarBitmapH(128,5,40,5,6,<cBarHeight>-5,<cBarWidth>-12)
  585.  
  586. // Top Left corner
  587. CopyBitmap(0,23,4,4,0,0)
  588.  
  589. // Top Right corner
  590. CopyBitmap(0,72,25,1,<WinWidth>-25,0)
  591.  
  592. // Bottom Left corner
  593. CopyBitmap(0,99,1,25,0,<WinHeight>-25)
  594.  
  595. // Bottom Left corner top
  596. CopyBitmap(0,27,3,31,0,<WinHeight>-57)
  597.  
  598. // Bottom Right Corner
  599. CopyBitmap(32,28,26,26,<WinWidth>-26,<WinHeight>-26)
  600.  
  601. // Bottom Right top
  602. CopyBitmap(6,28,25,30,<WinWidth>-25,<WinHeight>-56)
  603.  
  604. // Video Bottom bar
  605. TileBitmapH(4,26,40,1,3,<WinHeight>-56,<WinWidth>-28)
  606.  
  607. // Bar background
  608. FillRect(3,<WinHeight>-55,<WinWidth>-29,29,B4968B)
  609.  
  610. // Bar Bottom Separator
  611. FillRect(0,<WinHeight>-26,<WinWidth>-26,1,9E8075)
  612.  
  613. // Bar Right Separator
  614. FillRect(<WinWidth>-26,<WinHeight>-55,1,29,9E8075)
  615.  
  616. // Left bar
  617. TileBitmapV(0,27,4,40,0,4,<WinHeight>-60)
  618.  
  619. // Right bar
  620. TileBitmapV(5,28,26,40,<WinWidth>-26,1,<WinHeight>-57)
  621.  
  622. // Top Bar
  623. TileBitmapH(4,23,40,4,4,0,<WinWidth>-29)
  624.  
  625. // Bottom Bar
  626. TileBitmapH(59,28,40,25,1,<WinHeight>-25,<WinWidth>-27)
  627.  
  628. // Timeline left side
  629. CopyBitmap(0,0,17,22,4,<WinHeight>-51)
  630. // Timeline right side
  631. CopyBitmap(97,0,17,22,<WinWidth>-199,<WinHeight>-51)
  632. // Timeline top
  633. TileBitmapH(17,0,40,4,21,<WinHeight>-51,<WinWidth>-220)
  634. // Timeline bottom
  635. TileBitmapH(17,18,40,4,21,<WinHeight>-33,<WinWidth>-220)
  636.  
  637. // Volume bar left side
  638. CopyBitmap(100,28,23,22,<WinWidth>-178,<WinHeight>-51)
  639. // Volume bar right side
  640. CopyBitmap(124,28,11,22,<WinWidth>-113,<WinHeight>-51)
  641. // Volume bar top
  642. CopyBitmap(17,0,42,4,<WinWidth>-155,<WinHeight>-51)
  643. // Volume bar bottom
  644. CopyBitmap(17,18,42,4,<WinWidth>-155,<WinHeight>-33)
  645.  
  646. // Rate bar right side
  647. CopyBitmap(148,28,23,22,<WinWidth>-52,<WinHeight>-51)
  648. // Rate bar left side
  649. CopyBitmap(136,28,11,22,<WinWidth>-98,<WinHeight>-51)
  650. // Rate bar top
  651. CopyBitmap(17,0,35,4,<WinWidth>-87,<WinHeight>-51)
  652. // Rate bar bottom
  653. CopyBitmap(17,18,35,4,<WinWidth>-87,<WinHeight>-33)
  654.  
  655. // Video Area
  656. FillRect(4,4,<VidWidth>,<VidHeight>,000000)
  657.  
  658. // Right Buttons
  659. CreateExButton(Type=Normal,SrcX=  0,SrcY= 72,Width=25,Height=27,DestX=<WinWidth>-25,DestY=  0,Function=fnExit,Hint=Exit Program)
  660. CreateExButton(Type=Normal,SrcX= 50,SrcY= 72,Width=25,Height=27,DestX=<WinWidth>-25,DestY= 27,Function=fnMax,Hint=Maximize Window)
  661. CreateExButton(Type=Normal,SrcX=100,SrcY= 72,Width=25,Height=27,DestX=<WinWidth>-25,DestY= 54,Function=fnMinimize,Hint=Minimize Window)
  662. CreateExButton(Type=Normal,SrcX=  0,SrcY= 99,Width=25,Height=27,DestX=<WinWidth>-25,DestY= 81,Function=fnFullScreen,Hint=FullScreen Mode)
  663. CreateExButton(Type=Normal,SrcX= 50,SrcY= 99,Width=25,Height=27,DestX=<WinWidth>-25,DestY=108,Function=fnZoom,Hint=Zoom Mode)
  664. CreateExButton(Type=Normal,SrcX=250,SrcY=125,Width=25,Height=27,DestX=<WinWidth>-25,DestY=135,Function=fnSceneCut,Hint=Scene Cut Editor)
  665. CreateExButton(Type=Normal,SrcX=150,SrcY=125,Width=25,Height=27,DestX=<WinWidth>-25,DestY=162,Function=fnBlankingPreset,Hint=Blanking Preset Editor)
  666. CreateExButton(Type=Normal,SrcX=100,SrcY=126,Width=25,Height=27,DestX=<WinWidth>-25,DestY=189,Function=fnPlayList,Hint=Play List Editor)
  667. CreateExButton(Type=Normal,SrcX=  0,SrcY=126,Width=25,Height=27,DestX=<WinWidth>-25,DestY=216,Function=fnChapter,Hint=Chapter Editor)
  668. CreateExButton(Type=Normal,SrcX= 50,SrcY=126,Width=25,Height=27,DestX=<WinWidth>-25,DestY=243,Function=fnSkin,Hint=Skin Selector)
  669. CreateExButton(Type=Normal,SrcX=100,SrcY= 99,Width=25,Height=27,DestX=<WinWidth>-25,DestY=270,Function=fnOptions,Hint=Options)
  670. // Right Button divider
  671. CopyBitmap(0,72,25,1,<WinWidth>-25,297)
  672.  
  673. // Bottom Buttons
  674. CreateExButton(Type=Normal,SrcX=  0,SrcY=203,Width=27,Height=25,DestX=  0,DestY=<WinHeight>-25,Function=fnRewind,Hint=Rewind)
  675. CreateExButton(Type=Normal,SrcX=  0,SrcY=153,Width=27,Height=25,DestX= 27,DestY=<WinHeight>-25,Function=fnPlay,Hint=Play / Pause Video)
  676. CreateExButton(Type=Normal,SrcX=  0,SrcY=178,Width=27,Height=25,DestX= 54,DestY=<WinHeight>-25,Function=fnFastForward,Hint=Fast Forward)
  677. CreateExButton(Type=Normal,SrcX= 54,SrcY=153,Width=27,Height=25,DestX= 81,DestY=<WinHeight>-25,Function=fnStop,Hint=Stop Video)
  678. CreateExButton(Type=Normal,SrcX= 54,SrcY=178,Width=27,Height=25,DestX=108,DestY=<WinHeight>-25,Function=fnPrevTrack,Hint=Previous Track)
  679. CreateExButton(Type=Normal,SrcX=162,SrcY=178,Width=27,Height=25,DestX=135,DestY=<WinHeight>-25,Function=fnPrevChapter,Hint=Previous Chapter)
  680. CreateExButton(Type=Normal,SrcX=216,SrcY=178,Width=27,Height=25,DestX=162,DestY=<WinHeight>-25,Function=fnNextChapter,Hint=Next Chapter)
  681. CreateExButton(Type=Normal,SrcX=108,SrcY=178,Width=27,Height=25,DestX=189,DestY=<WinHeight>-25,Function=fnNextTrack,Hint=Next Track)
  682. CreateExButton(Type=Normal,SrcX=270,SrcY=203,Width=27,Height=25,DestX=216,DestY=<WinHeight>-25,Function=fnAudioTrack,Hint=Next Audio Track)
  683. CreateExButton(Type=Normal,SrcX=270,SrcY=178,Width=27,Height=25,DestX=243,DestY=<WinHeight>-25,Function=fnDVDSub,Hint=Next Subtitle Track)
  684. CreateExButton(Type=Normal,SrcX=108,SrcY=153,Width=27,Height=25,DestX=270,DestY=<WinHeight>-25,Function=fnOpen,Hint=Open Media)
  685. CreateExButton(Type=Normal,SrcX=108,SrcY=203,Width=27,Height=25,DestX=297,DestY=<WinHeight>-25,Function=fnBar,Hint=Show / Hide Control Bar)
  686. // Bottom Button divider
  687. CopyBitmap(0,153,1,25,324,<WinHeight>-25)
  688.  
  689. // TimeLine Buttons
  690. CreateExButton(Type=Normal,SrcX=151,SrcY=71,Width=8,Height=12,DestX=            10,DestY=<WinHeight>-46,Function=fnSkipBackward,Hint=Skip Backwards)
  691. CreateExButton(Type=Normal,SrcX=151,SrcY=84,Width=8,Height=12,DestX=<WinWidth>-196,DestY=<WinHeight>-46,Function=fnSkipForward,Hint=Skip Forward)
  692. // Volume bar Buttons
  693. CreateExButton(Type=Normal,SrcX=154,SrcY=51,Width=9,Height= 9,DestX=<WinWidth>-112,DestY=<WinHeight>-50,Function=fnVolUp,Hint=Increase Volume)
  694. CreateExButton(Type=Normal,SrcX=154,SrcY=61,Width=9,Height= 9,DestX=<WinWidth>-112,DestY=<WinHeight>-39,Function=fnVolDown,Hint=Decrease Volume)
  695. // Rate bar Buttons
  696. CreateExButton(Type=Normal,SrcX=154,SrcY=51,Width=9,Height= 9,DestX=<WinWidth>- 97,DestY=<WinHeight>-50,Function=fnIncRate,Hint=Increase Play Rate)
  697. CreateExButton(Type=Normal,SrcX=154,SrcY=61,Width=9,Height= 9,DestX=<WinWidth>- 97,DestY=<WinHeight>-39,Function=fnDecRate,Hint=Decrease Play Rate)
  698.  
  699. // Control Bar Buttons
  700. AddBarButton(0,252,fnPlay,Play / Pause Video)
  701. AddBarButton(100,228,fnSlowMotion,Slow Motion)
  702. AddBarButton(50,228,fnFastForward,Fast Forward)
  703. AddBarButton(100,276,fnPrevChapter,Previous Chapter)
  704. AddBarButton(150,276,fnNextChapter,Next Chapter)
  705. AddBarButton(50,252,fnStop,Stop Video)
  706. AddBarButton(0,276,fnPrevTrack,Previous Track)
  707. AddBarButton(50,276,fnNextTrack,Next Track)
  708. AddBarButton(250,252,fnAudioTrack,Next Audio Track)
  709. AddBarButton(250,228,fnDVDSub,Next Subtitle Track)
  710. AddBarButton(200,252,fnZoomIn,Zoom-In)
  711. AddBarButton(200,228,fnZoomOut,Zoom-Out)
  712. AddBarButton(200,276,fnZoom,Zoom Mode)
  713. AddBarButton(150,300,fnFullScreen,FullScreen Mode)
  714. AddBarButton(100,300,fnARCycle,Cycle Aspect Ratio Modes)
  715. AddBarButton(200,300,fnBlankingNav,Blanking Navigator)
  716. AddBarButton(0,300,fnVolUp,Increase Volume)
  717. AddBarButton(50,300,fnVolDown,Decrease Volume)
  718. AddBarButton(150,228,fnEject,Eject)
  719. AddBarButton(150,252,fnOpen,Open Media)
  720. AddBarButton(100,252,fnExit,Exit Program)
  721.  
  722. // Example of a Biliniar streched bitmap copy
  723. //CopyStretchedBitmap(150,98,52,27,4,4,<VidWidth>,<VidHeight>)
  724.  
  725. // Example of a Gradient fill of the Video Area, Red to White
  726. //GradientRectV(4,4,<VidWidth>,<VidHeight>,FF00FF,00FF00)
  727.  
  728. // Example of Transparent bitmap copy
  729. //CopyTransBitmap(251,0,32,16,10,10,ECD000)
  730.  
  731. // Example of Alpha Blended Mask Copy, Mask must be aligned to the right of the bitmap (and of the same size)
  732. //CopyMaskedBitmap(267,153,16,16,<WinWidth>-24,<WinHeight>-50)
  733.  
  734. // Example of a button using the EX functions (see "default.key" for a list of functions).
  735. //CreateExButton(Type=Extended,SrcX=0,SrcY=72,Width=25,Height=27,DestX=0,DestY=0,Function=exSetAR,FunctionParam=1,Hint=Set Aspect Ratio to Source Aspect Ratio)
  736.  
  737. // Example of a filter property opening button
  738. //CreateExButton(Type=Filter,SrcX=0,SrcY=72,Width=25,Height=27,DestX=0,DestY=0,StringParam=DivX|XviD|MPEG4|MPEG-4,Hint=Open any MPEG4 based decoder filter)
  739.  
  740. // Example of a Transparent Button
  741. //CreateExButton(Type=Normal,SrcX=32,SrcY=55,Width=16,Height=16,DestX=<WinWidth>-22,DestY=<WinHeight>-50,Function=fnInfo,TransColor=ECD000,Hint=File Information)
  742.  
  743. // Example of an Alpha Blended Button with Hovering (Mouse-Over)
  744. //CreateExButton(Type=Normal,SrcX=251,SrcY=153,Width=16,Height=16,HoverX=299,HoverY=153,AlphaX=283,AlphaY=153,DestX=<WinHalfWidth>+22,DestY=<WinHeight>-50,Function=fnInfo,Hint=File Information)
  745.  
  746. // Example of Drawing Dynamic Text, First draw the Shadow (One Pixel lower and drawn first)
  747. //DrawExText(DestX=5,DestY=<WinHeight>-56,Width=<WinWidth>-10,Height=20,Align=Center,Case=UpFirst,FontName=Arial,FontSize=8,FontColor=000000,FontStyle=Bold,Text=<FileName>)
  748. // Then the Actual Text
  749. //DrawExText(DestX=5,DestY=<WinHeight>-57,Width=<WinWidth>-10,Height=20,Align=Center,Case=UpFirst,FontName=Arial,FontSize=8,FontColor=FFFFFF,FontStyle=Bold,Text=<FileName>)
  750.  
  751. // Another example of Drawing Dynamic Text (Playing times)
  752. //DrawExText(DestX=5,DestY=<WinHeight>-57,Width=<WinWidth>-10,Height=20,Align=Center,Case=UpFirst,FontName=Arial,FontSize=8,FontColor=FFFFFF,FontStyle=Bold,Text=At <Time> out of <Duration> - Remaining: <TimeRemain>)
  753.  
  754. // Example of using the same graphics of the Play Rate Bar for Audio Balance
  755. //BalanceExData(SrcX=172,SrcY=0,DestX=<WinWidth>-87,DestY=<WinHeight>-47,Width=35,Height=14)
  756.