====== Manual for Graphical Browser (rev15)====== foo_uie_graphical_browser.dll (2008/04/20 rev015) ===What this component does:=== Album cover browser for the active playlist. === Caution === Settings are per panel so if you delete a panel, the settings for that panel also disappear. === Sort === Blank -> Whatever works. -> Sorted by grouped strings. If you want to arrange in the same order as the playlist?>? $num(%gb_playlist_number%,10) === Popup === == Transparent mode == You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.)\\ I think that GDI can't be used, please use GDI+ only.\\ Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn't look good enough. == Per track == Draw order:\\ Popup > Per track(0) > Per track(1) > ...\\ Rendering settings (e.g.: pen, brush, font, ...) can't be set again midway. === Image cache methods === == Old == rev011 and older way. Cache images of all items.\\ Image cache is purged when switching playlist. == Default == Cache images to the set size.\\ Image cache is not purged when switching playlist.\\ If the image cache reach the limit, it will be purged. ==== Variables ==== == %gb_group% == [Item], [Popup], [Per track(Popup)]\\ Return the group string. E.g.: If you used $if2(%album%,@skip) to group, it will return %album%. == %gb_width% == [Item]\\ Item width\\ [Popup], [Per track(Popup)]\\ Popup width == %gb_height% == [Item]\\ Item height\\ [Popup], [Per track(Popup)]\\ Popup height == %gb_focused% == [Item], [Popup], [Per track(Popup)]\\ Check whether focus is on the item or not == %gb_mouse_over% == [Item]\\ Check whether mouse cursor is on the item or not\\ [Popup], [Per track(Popup)]\\ Probably always true == %gb_item_index% == [Item], [Popup], [Per track(Popup)]\\ Return item index == %gb_item_count% == [Item], [Popup], [Per track(Popup)]\\ Return item count == %gb_track_count% == [Sort], [Item], [Popup], [Per track(Popup)]\\ Return number of songs in an item == %gb_playlist_number% == [Sort], [Item], [Popup]\\ Return position of song in playlist for the first song in an item\\ [Per track(Popup)]\\\ Return position of song in playlist == %gb_col% == [Item], [Popup], [Per track(Popup)]\\ Return item column number == %gb_row% == [Item], [Popup], [Per track(Popup)]\\ Return item row number == %gb_col_count% == [Item], [Popup], [Per track(Popup)]\\ Return number of columns == %gb_row_count% == [Item], [Popup], [Per track(Popup)]\\ Return number of rows == %gb_isplaying% == [Item], [Popup]\\ Return true if a song in the item is playing\\ [Per track (Popup)]\\ Return true if it is playing == %gb_track_index% == [Per track (Popup)]\\ Position of track in item (O based) == %gb_length% == [Sort], [Item], [Popup], [Per track(Popup)]\\ Total length of item/track == %gb_length_seconds% == [Sort], [Item], [Popup], [Per track(Popup)]\\ Total length in seconds of item/track == %gb_calc_x% == == %gb_calc_y% == == %gb_calc_width% == == %gb_calc_height% == [Item], [Popup], [Per track(Popup)]\\ Dimension calculations\\ ==== Values change with functions below ==== === $calc_text === === $gp_calc_string === === $gp_calc_string_path === === $draw_image === ==== About functions: ==== Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with "r-g-b", use a base 10 number for each color component; otherwise use base 16 number with "rrggbb". For GDI+, to set color with "a-r-g-b", use a base 10 number for each color component and alpha channel; otherwise use base 16 number with "aarrggbb". If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can't be used in GDI+ mode. Full-width hyphen can't be displayed right in GDI+ mode. ==== GDI function ==== $set_font(name,size,style) Set font name - font name size - font size style - style Set multiple styles by combining options "b" - bold "i" - italic "u" - underline "s" - strikethrough $set_font_color(color) Set font color color - color $draw_text(str,x,y) Draw text str - string x - start point x coordinate y - start point y coordinate $draw_text(str,x,y,width,height,[option1],[option2],...) Draw text within the set limit str - string x - start point x coordinate y - start point y coordinate width - drawing width height - drawing height option - other option "bottom" - draw at bottom, needs singleline "center" - center aligned "end_ellipsis" - if out of limit, append "...." "left" - left aligned "noclip" - no clip, same as no settings for width and height "path_ellipsis" – like end_ellipsis but used for file path "right" – right aligned "singleline" - display with 1 line "top" - draw at top "vcenter" - vertical center aligned, needs singleline "wordbreak" - display with multiple lines "word_ellipsis" - truncates any word that does not fit in the rectangle and adds ellipsis. Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx $draw_text_blur(str,x,y,strength,[deep]) $draw_text_blur(str,x,y,width,height,strength,[deep],[option1],[option2],...) 0 Overview Draw blurred text. 0 Arguments str - string x - start point x coordinate y - start point y coordinate strength - Blur strength (1..20) deep - enable [1] option - see $draw_text $calc_text(str) $calc_text(str,width,height,[option1],[option2],...) Calculate size of str when drawn. Arguments are the same as $draw_text except x and y. Use %gb_calc_*% to obtain values after this function. $set_pen(color) $set_pen(color,width) $set_pen(color,width,style) Pen settings color - color width - width[1], only effective when using "solid" style style - style["solid"] "solid" - solid line "dash" - dashed line "dot" - dotted line "dashdot" - line with alternating dashes and dots "dashdotdot" - line with alternating dashes and double dots Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx $set_brush(color) $set_brush(color,style) Brush settings color - color style - style: if it is not set, then brush is solid "bdiagonal" - A 45-degree upward, left-to-right line pattern "cross" - Horizontal and vertical cross pattern "diagcross" - 45-degree cross pattern "fdiagonal" - A 45-degree downward, left-to-right line pattern "horizontal" - Horizontal line pattern "vertical" - Vertical line pattern $draw_rect(x,y,width,height) Draw rectangle using pen x - start point x coordinate y - start point y coordinate width - width height - height $fill_rect(x,y,width,height) Fill rectangle using brush x - start point x coordinate y - start point y coordinate width - width height - height $fill_draw_rect(x,y,width,height) Draw rectangle using pen and brush x - start point x coordinate y - start point y coordinate width - width height - height $round_rect(x,y,width,height,ellipse_width,ellipse_height) Draw round corner rectangle with pen and brush x - start point x coordinate y - start point y coordinate width - width height - height ellipse_width - ellipse width ellipse_height - ellipse height $draw_line(x1,y1,x2,y2) Draw line using pen, end point is not drawn. x1 - start point x coordinate y1 - start point y coordinate x2 - end point x coordinate y2 - end point y coordinate ? GDI+ function Because pen, brush, font do not have default values, please set them up with $gp_set_* before using. $gp_set_pen(argb,width) $gp_set_pen(argb,width,style,line_join) 0 Overview: Pen settings 0 Arguments: argb - color width - width style - style ["solid"] "solid" - solid line "dash" - dashed line "dot" - dotted line "dashdot" - line with alternating dashes and dots "dashdotdot" - line with alternating dashes and double dots line_join - stroke corner style ["miter"] "miter" "bevel" "round" $gp_set_brush(argb) 0 Overview: Monocolor brush setting 0 Arguments: argb - color $gp_set_brush(style,argb1,argb2) 0 Overview: Hatch brush settings 0 Argument: style - Style Use number in range 0 ~ 53. Details at?http://msdn2.microsoft.com/en-us/library/ms534127.aspx argb1 - Foreground color. argb2 - Background color. $gp_set_brush(argb1,x1,y1,argb2,x2,y2) 0 Overview: Set brush with linear gradual effect 0 Arguments: argb1 - color 1 x1 - color 1 x coordinate y1 - color 1 y coordinate argb2 - color 2 x2 - color 2 x coordinate y2 - color 2 y coordinate $gp_set_font(name,size) $gp_set_font(name,size,style_1,style_2...) 0 Overview: Font settings 0 Arguments: name - font name size - font size style - style "b" - bold "i" - italic "bi" - bold and italic "u" - underline "s" - strikethrough $gp_set_string_format(alignment,line_alignment,[trimming]) 0 Overview: Text drawing method settings 0 Arguments: alignment - horizontal alignment "near" - left "center" - center "far" - right line_alignment - vertical alignment "near" - top "center" - center "far" - bottom trimming - Trimming. "character" "word" "ellipsis_character" "ellipsis_word" "ellipsis_path" $gp_set_smoothing_mode(antialias) 0 Overview: Shape anti-alias setting 0 Arguments: antialias - anti-alias 0 - disable 1 - enable $gp_set_text_rendering_hint(mode) 0 Overview: Text rendering method setting 0 Arguments: mode - method "default" - default "sb+" - single bit per pixel grid fit "sb" - single bit per pixel "aa+" - anti alias grid fit "aa" - anti alias "ct" - clear type $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) 0 Overview: Draw arc using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_ellipse(x,y,width,height) 0 Overview: Draw ellipse using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_line(x1,y1,x2,y2) 0 Overview: Draw line using pen 0 Arguments: x1 - start point x coordinate y1 - start point y coordinate x2 - end point x coordinate y2 - end point y coordinate 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) 0 Overview: Draw pie (fan shape) using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_rectangle(x,y,width,height) 0 Overview: Draw rectangle using pen 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_smoothing_mode $gp_draw_string(str,x,y) $gp_draw_string(str,x,y,width,height) 0 Overview: Draw string using brush 0 Arguments: str - string x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_font $gp_set_brush $gp_set_text_rendering_hint $gp_set_string_format $gp_calc_string(str) $gp_calc_string(str,width,height) 0 Overview Calculate size of str when drawn $gp_fill_ellipse(x,y,width,height) 0 Overview: Fill ellipse using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_brush $gp_set_smoothing_mode $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) 0 Overview: Fill pie using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height start_angle - start angle (degree) sweep_angle - end angle (degree) 0 Settings: $gp_set_brush $gp_set_smoothing_mode $gp_fill_rectangle(x,y,width,height) 0 Overview: Fill rectangle using brush 0 Arguments: x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_brush $gp_set_smoothing_mode $gp_draw_string_path(str,size,mode,x,y) $gp_draw_string_path(str,size,mode,x,y,width,height) 0 Overview: Draw string with border. 0 Arguments: str - string size - character size, px unit (different from current font size) mode - draw mode "" - fill and border "stroke" - only border "fill" - only fill x - top left x coordinate y - top left y coordinate width - width height - height 0 Settings: $gp_set_pen $gp_set_brush $gp_set_font $gp_set_string_format $gp_set_smoothing_mode 0 Examples: $gp_set_font(Tahoma,9,b) $gp_set_pen(ff1500ff,2,,round) $gp_set_brush(ffddeeff) $gp_set_string_format(center,center) $gp_set_smoothing_mode(1) $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%) $gp_calc_string_path(str,size,mode) $gp_calc_string_path(str,size,mode,width,height) 0 Overview Calculate size of str with border when drawn ==== Draw image function ==== $draw_image(x,y,width,height,path) $draw_image(x,y,width,height,path,alpha) $draw_image(x,y,width,height,path,alpha,option) $draw_image(x,y,width,height,path,alpha,option,rotate_flip) 0 Overview: Draw image 0 Arguments: x - starting point x coordinate y - starting point y coordinate width - width height - height path - absolute path to image, wild cards are accepted. alpha - degree of opacity[255] option - other options[""] "nokeepaspect" - don't keep picture aspect ratio "top" - draw at the top "topright" - draw on the top right "right" - draw from the right "bottomright" - draw on the bottom right "bottom" - draw at the bottom "bottomleft" - draw on the bottom left "left" - draw from the left "topleft" - draw on the top left rotate_flip - Rotation and flip [0] 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally 2 - Rotate right 180 degrees = Flip vertically then horizontally 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally 4 - Flip horizontally = Rotate right 180 degrees, flip vertically 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically 6 - Rotate right 180 degrees, flip horizontally = Flip vertically 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically 0 Reference After executing this function, you can use %gb_calc_*% to obtain the real dimensions used. ==== Other functions ==== $set_size(width,height) 0 Overview Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. %gb_width%,%gb_height% values are changed accordingly. When width or height is 0 or less, popup won't be drawn. 0 Arguments: width - width height - height $set_org(x,y) 0 Overview Starting point setting 0 Arguments: x - starting point x coordinate y - starting point y coordinate $set_clip_rect() $set_clip_rect(x,y,width,height) 0 Overview Only draw GDI, GDI+, and pictures inside the designated area. Cancel this function effect by calling it with no argument. $sum(tf) 0 Overview Calculate sum of values designated by TitleFormat. 0 Arguments: tf - TitleFormat 0 Example: Total number played $sum('%play_count%') $eval(expression) Evaluate the expression and calculate expression - expression E.g.: $eval(5+3) E.g.: $eval({%gp_width%-10}/2) ? Divide by zero expression returns 0. Can be used with sort