foobar2000 SDK  2015-01-14
Data Structures | Typedefs | Functions | Variables
ui_element.h File Reference

Go to the source code of this file.

Data Structures

class  ui_element
 
class  ui_element_children_enumerator
 
class  ui_element_common_methods
 
class  ui_element_common_methods_v2
 
class  ui_element_config
 
class  ui_element_config_builder
 
class  ui_element_config_parser
 
class  ui_element_impl< TImpl, TInterface >
 
class  ui_element_impl< TImpl, TInterface >::ui_element_instance_impl_helper
 
class  ui_element_instance
 
class  ui_element_instance_callback
 
class  ui_element_instance_callback_impl< t_receiver >
 
class  ui_element_instance_callback_receiver
 
class  ui_element_instance_callback_v2
 
class  ui_element_instance_callback_v3
 
struct  ui_element_min_max_info
 
class  ui_element_notify_get_element_labels_callback
 
class  ui_element_popup_host
 
class  ui_element_popup_host_callback
 
class  ui_element_popup_host_v2
 
class  ui_element_typable_window_manager
 
class  ui_element_v2
 

Typedefs

typedef COLORREF t_ui_color
 
typedef HFONT t_ui_font
 
typedef HICON t_ui_icon
 
typedef service_ptr_t< ui_element_children_enumeratorui_element_children_enumerator_ptr
 
typedef service_ptr_t< ui_element_instance_callbackui_element_instance_callback_ptr
 
typedef service_ptr_t< ui_element_instanceui_element_instance_ptr
 

Functions

 FB2K_STREAM_READER_OVERLOAD (ui_element_config::ptr)
 
 FB2K_STREAM_WRITER_OVERLOAD (ui_element_config::ptr)
 
static int ui_color_to_sys_color_index (const GUID &p_guid)
 
bool ui_element_subclass_description (const GUID &id, pfc::string_base &out)
 

Variables

static const GUID ui_color_background = { 0x16fc40c1, 0x1cba, 0x4385, { 0x93, 0x3b, 0xe9, 0x32, 0x7f, 0x6e, 0x35, 0x1f } }
 
static const GUID ui_color_highlight = { 0xd2f98042, 0x3e6a, 0x423a, { 0xb8, 0x66, 0x65, 0x1, 0xfe, 0xa9, 0x75, 0x93 } }
 
static const GUID ui_color_selection = { 0xebe1a36b, 0x7e0a, 0x469a, { 0x8e, 0xc5, 0xcf, 0x3, 0x12, 0x90, 0x40, 0xb5 } }
 
static const GUID ui_color_text = { 0x5dd38be7, 0xff8a, 0x416f, { 0x88, 0x2d, 0xa4, 0x8e, 0x31, 0x87, 0x85, 0xb2 } }
 
static const GUID ui_element_host_notify_get_dialog_texture = { 0xbb98eb99, 0x7b07, 0x42f3, { 0x8c, 0xd1, 0x12, 0xa2, 0xc2, 0x23, 0xb5, 0xbc } }
 
static const GUID ui_element_host_notify_is_border_needed = { 0x2974f554, 0x2f31, 0x49c5, { 0xab, 0x4, 0x76, 0x4a, 0xf7, 0x94, 0x7c, 0x4f } }
 
static const GUID ui_element_host_notify_set_elem_label = { 0x24598cb7, 0x9c5c, 0x488e, { 0xba, 0xff, 0xd, 0x2f, 0x11, 0x93, 0xe4, 0xf2 } }
 
static const GUID ui_element_notify_colors_changed = { 0xeedda994, 0xe3d2, 0x441a, { 0xbe, 0x47, 0xa1, 0x63, 0x5b, 0x71, 0xab, 0x60 } }
 
static const GUID ui_element_notify_edit_mode_changed = { 0xf72f00af, 0xec76, 0x4251, { 0xb2, 0x67, 0x89, 0x4c, 0x52, 0x5f, 0x18, 0xc6 } }
 
static const GUID ui_element_notify_font_changed = { 0x7a6964a8, 0xc797, 0x4737, { 0x90, 0x55, 0x7d, 0x84, 0xe7, 0x3d, 0x63, 0x6e } }
 
static const GUID ui_element_notify_get_element_labels = { 0x4850a2cb, 0x6cfc, 0x4d74, { 0x9a, 0x6d, 0xc, 0x7b, 0x29, 0x16, 0x5e, 0x69 } }
 
static const GUID ui_element_notify_visibility_changed = { 0x313c22b9, 0x287a, 0x4804, { 0x8e, 0x6c, 0xff, 0xef, 0x4, 0x10, 0xcd, 0xea } }
 
static const GUID ui_element_subclass_containers = { 0x72dc5954, 0x1f26, 0x41be, { 0xae, 0xf2, 0x92, 0x9d, 0x25, 0xb5, 0x8d, 0xcf } }
 
static const GUID ui_element_subclass_media_library_viewers = { 0x58455355, 0x289d, 0x459c, { 0x8f, 0x8a, 0xe1, 0x49, 0x6, 0xfc, 0x14, 0x56 } }
 
static const GUID ui_element_subclass_playback_information = { 0x84859f2d, 0xbb9c, 0x4e70, { 0x9d, 0x4, 0x14, 0x71, 0xb5, 0x63, 0x1f, 0x7f } }
 
static const GUID ui_element_subclass_playback_visualisation = { 0x1f3c62f2, 0x8bb5, 0x4700, { 0x9e, 0x82, 0x8c, 0x48, 0x22, 0xf0, 0x18, 0x35 } }
 
static const GUID ui_element_subclass_playlist_renderers = { 0x3c4c68a0, 0xfc5, 0x400a, { 0xa3, 0x4a, 0x2e, 0x3a, 0xae, 0x6e, 0x90, 0x76 } }
 
static const GUID ui_element_subclass_selection_information = { 0x68084e43, 0x7359, 0x46a5, { 0xb6, 0x84, 0x3c, 0xd7, 0x57, 0xf6, 0xde, 0xfd } }
 
static const GUID ui_element_subclass_utility = { 0xffa4f4fc, 0xc169, 0x4766, { 0x9c, 0x94, 0xfa, 0xef, 0xae, 0xb2, 0x7e, 0xf } }
 
static const GUID ui_font_console = { 0xb08c619d, 0xd3d1, 0x4089, { 0x93, 0xb2, 0xd5, 0xb, 0x87, 0x2d, 0x1a, 0x25 } }
 
static const GUID ui_font_default = { 0x9ef02cef, 0xe58a, 0x4f99, { 0x9f, 0xe3, 0x85, 0x39, 0xb, 0xed, 0xc5, 0xe0 } }
 
static const GUID ui_font_lists = { 0xa86198b3, 0xb5d8, 0x40cf, { 0xac, 0x19, 0xf9, 0xda, 0xc, 0xb5, 0xd4, 0x24 } }
 
static const GUID ui_font_playlists = { 0xd85b7b7e, 0xbf83, 0x41ed, { 0x88, 0xce, 0x1, 0x99, 0x31, 0x94, 0x3e, 0x2f } }
 
static const GUID ui_font_statusbar = { 0xc7fd555b, 0xbd15, 0x4f74, { 0x93, 0xe, 0xba, 0x55, 0x52, 0x9d, 0xd9, 0x71 } }
 
static const GUID ui_font_tabs = { 0x65ffd7ac, 0x71ce, 0x495c, { 0xa5, 0x99, 0x48, 0x5b, 0xbf, 0x7a, 0x4, 0x7b } }
 

Typedef Documentation

typedef COLORREF t_ui_color

Definition at line 82 of file ui_element.h.

typedef HFONT t_ui_font

Definition at line 83 of file ui_element.h.

typedef HICON t_ui_icon

Definition at line 84 of file ui_element.h.

Definition at line 363 of file ui_element.h.

Definition at line 188 of file ui_element.h.

Definition at line 339 of file ui_element.h.

Function Documentation

FB2K_STREAM_READER_OVERLOAD ( ui_element_config::ptr  )

Definition at line 71 of file ui_element.h.

71  {
72  GUID guid;
73  t_uint32 size;
74  stream >> guid >> size;
75  value = ui_element_config::g_create(guid,&stream.m_stream,size,stream.m_abort);
76  return stream;
77 }
Definition: pfc.h:53
uint32_t t_uint32
Definition: int_types.h:5
static service_ptr_t< ui_element_config > g_create(const GUID &id, const void *data, t_size size)
Helper.
Definition: ui_element.cpp:25
FB2K_STREAM_WRITER_OVERLOAD ( ui_element_config::ptr  )

Definition at line 64 of file ui_element.h.

64  {
65  stream << value->get_guid();
66  t_size size = value->get_data_size();
67  stream << pfc::downcast_guarded<t_uint32>(size);
68  stream.write_raw(value->get_data(),size);
69  return stream;
70 }
size_t t_size
Definition: int_types.h:48
static int ui_color_to_sys_color_index ( const GUID p_guid)
static
Returns
-1 when the GUID is unknown / unmappable, index that can be passed over to GetSysColor() otherwise.

Definition at line 102 of file ui_element.h.

102  {
103  if (p_guid == ui_color_text) {
104  return COLOR_WINDOWTEXT;
105  } else if (p_guid == ui_color_background) {
106  return COLOR_WINDOW;
107  } else if (p_guid == ui_color_highlight) {
108  return COLOR_HOTLIGHT;
109  } else if (p_guid == ui_color_selection) {
110  return COLOR_HIGHLIGHT;
111  } else {
112  return -1;
113  }
114 }
static const GUID ui_color_background
Definition: ui_element.h:87
static const GUID ui_color_selection
Definition: ui_element.h:89
static const GUID ui_color_text
Definition: ui_element.h:86
static const GUID ui_color_highlight
Definition: ui_element.h:88
bool ui_element_subclass_description ( const GUID id,
pfc::string_base out 
)

Definition at line 54 of file ui_element.cpp.

54  {
56  p_out = "Playlist Renderers"; return true;
58  p_out = "Media Library Viewers"; return true;
60  p_out = "Selection Information"; return true;
62  p_out = "Playback Visualization"; return true;
64  p_out = "Playback Information"; return true;
65  } else if (id == ui_element_subclass_utility) {
66  p_out = "Utility"; return true;
67  } else if (id == ui_element_subclass_containers) {
68  p_out = "Containers"; return true;
69  } else {
70  return false;
71  }
72 }
static const GUID ui_element_subclass_utility
Definition: ui_element.h:585
static const GUID ui_element_subclass_selection_information
Definition: ui_element.h:582
static const GUID ui_element_subclass_playback_information
Definition: ui_element.h:584
static const GUID ui_element_subclass_containers
Definition: ui_element.h:581
static const GUID ui_element_subclass_media_library_viewers
Definition: ui_element.h:580
static const GUID ui_element_subclass_playlist_renderers
Definition: ui_element.h:579
static const GUID ui_element_subclass_playback_visualisation
Definition: ui_element.h:583

Variable Documentation

const GUID ui_color_background = { 0x16fc40c1, 0x1cba, 0x4385, { 0x93, 0x3b, 0xe9, 0x32, 0x7f, 0x6e, 0x35, 0x1f } }
static

Definition at line 87 of file ui_element.h.

const GUID ui_color_highlight = { 0xd2f98042, 0x3e6a, 0x423a, { 0xb8, 0x66, 0x65, 0x1, 0xfe, 0xa9, 0x75, 0x93 } }
static

Definition at line 88 of file ui_element.h.

const GUID ui_color_selection = { 0xebe1a36b, 0x7e0a, 0x469a, { 0x8e, 0xc5, 0xcf, 0x3, 0x12, 0x90, 0x40, 0xb5 } }
static

Definition at line 89 of file ui_element.h.

const GUID ui_color_text = { 0x5dd38be7, 0xff8a, 0x416f, { 0x88, 0x2d, 0xa4, 0x8e, 0x31, 0x87, 0x85, 0xb2 } }
static

Definition at line 86 of file ui_element.h.

const GUID ui_element_host_notify_get_dialog_texture = { 0xbb98eb99, 0x7b07, 0x42f3, { 0x8c, 0xd1, 0x12, 0xa2, 0xc2, 0x23, 0xb5, 0xbc } }
static

Definition at line 562 of file ui_element.h.

const GUID ui_element_host_notify_is_border_needed = { 0x2974f554, 0x2f31, 0x49c5, { 0xab, 0x4, 0x76, 0x4a, 0xf7, 0x94, 0x7c, 0x4f } }
static

Definition at line 563 of file ui_element.h.

const GUID ui_element_host_notify_set_elem_label = { 0x24598cb7, 0x9c5c, 0x488e, { 0xba, 0xff, 0xd, 0x2f, 0x11, 0x93, 0xe4, 0xf2 } }
static

Set to ui_element_instance_callback_v3 to set our element's label. Param1 is ignored, param2 is a pointer to a UTF-8 string containing the new label. Return value is 1 if the label is user-visible, 0 if the host does not support displaying overridden labels.

Definition at line 561 of file ui_element.h.

const GUID ui_element_notify_colors_changed = { 0xeedda994, 0xe3d2, 0x441a, { 0xbe, 0x47, 0xa1, 0x63, 0x5b, 0x71, 0xab, 0x60 } }
static

Dispatched through ui_element_instance::notify() when host changes color settings. Other parameters are not used and should be set to zero.

Definition at line 549 of file ui_element.h.

const GUID ui_element_notify_edit_mode_changed = { 0xf72f00af, 0xec76, 0x4251, { 0xb2, 0x67, 0x89, 0x4c, 0x52, 0x5f, 0x18, 0xc6 } }
static

Definition at line 551 of file ui_element.h.

const GUID ui_element_notify_font_changed = { 0x7a6964a8, 0xc797, 0x4737, { 0x90, 0x55, 0x7d, 0x84, 0xe7, 0x3d, 0x63, 0x6e } }
static

Definition at line 550 of file ui_element.h.

const GUID ui_element_notify_get_element_labels = { 0x4850a2cb, 0x6cfc, 0x4d74, { 0x9a, 0x6d, 0xc, 0x7b, 0x29, 0x16, 0x5e, 0x69 } }
static

Sent to retrieve areas occupied by elements to show overlay labels. Param1 is ignored, param2 is a pointer to ui_element_notify_get_element_labels_callback, param2size is ignored.

Definition at line 557 of file ui_element.h.

const GUID ui_element_notify_visibility_changed = { 0x313c22b9, 0x287a, 0x4804, { 0x8e, 0x6c, 0xff, 0xef, 0x4, 0x10, 0xcd, 0xea } }
static

Sent when a portion of the GUI is shown/hidden. First parameter is a bool flag indicating whether your UI Element is now visible.

Definition at line 554 of file ui_element.h.

const GUID ui_element_subclass_containers = { 0x72dc5954, 0x1f26, 0x41be, { 0xae, 0xf2, 0x92, 0x9d, 0x25, 0xb5, 0x8d, 0xcf } }
static

Definition at line 581 of file ui_element.h.

const GUID ui_element_subclass_media_library_viewers = { 0x58455355, 0x289d, 0x459c, { 0x8f, 0x8a, 0xe1, 0x49, 0x6, 0xfc, 0x14, 0x56 } }
static

Definition at line 580 of file ui_element.h.

const GUID ui_element_subclass_playback_information = { 0x84859f2d, 0xbb9c, 0x4e70, { 0x9d, 0x4, 0x14, 0x71, 0xb5, 0x63, 0x1f, 0x7f } }
static

Definition at line 584 of file ui_element.h.

const GUID ui_element_subclass_playback_visualisation = { 0x1f3c62f2, 0x8bb5, 0x4700, { 0x9e, 0x82, 0x8c, 0x48, 0x22, 0xf0, 0x18, 0x35 } }
static

Definition at line 583 of file ui_element.h.

const GUID ui_element_subclass_playlist_renderers = { 0x3c4c68a0, 0xfc5, 0x400a, { 0xa3, 0x4a, 0x2e, 0x3a, 0xae, 0x6e, 0x90, 0x76 } }
static

Definition at line 579 of file ui_element.h.

const GUID ui_element_subclass_selection_information = { 0x68084e43, 0x7359, 0x46a5, { 0xb6, 0x84, 0x3c, 0xd7, 0x57, 0xf6, 0xde, 0xfd } }
static

Definition at line 582 of file ui_element.h.

const GUID ui_element_subclass_utility = { 0xffa4f4fc, 0xc169, 0x4766, { 0x9c, 0x94, 0xfa, 0xef, 0xae, 0xb2, 0x7e, 0xf } }
static

Definition at line 585 of file ui_element.h.

const GUID ui_font_console = { 0xb08c619d, 0xd3d1, 0x4089, { 0x93, 0xb2, 0xd5, 0xb, 0x87, 0x2d, 0x1a, 0x25 } }
static

Definition at line 96 of file ui_element.h.

const GUID ui_font_default = { 0x9ef02cef, 0xe58a, 0x4f99, { 0x9f, 0xe3, 0x85, 0x39, 0xb, 0xed, 0xc5, 0xe0 } }
static

Definition at line 91 of file ui_element.h.

const GUID ui_font_lists = { 0xa86198b3, 0xb5d8, 0x40cf, { 0xac, 0x19, 0xf9, 0xda, 0xc, 0xb5, 0xd4, 0x24 } }
static

Definition at line 93 of file ui_element.h.

const GUID ui_font_playlists = { 0xd85b7b7e, 0xbf83, 0x41ed, { 0x88, 0xce, 0x1, 0x99, 0x31, 0x94, 0x3e, 0x2f } }
static

Definition at line 94 of file ui_element.h.

const GUID ui_font_statusbar = { 0xc7fd555b, 0xbd15, 0x4f74, { 0x93, 0xe, 0xba, 0x55, 0x52, 0x9d, 0xd9, 0x71 } }
static

Definition at line 95 of file ui_element.h.

const GUID ui_font_tabs = { 0x65ffd7ac, 0x71ce, 0x495c, { 0xa5, 0x99, 0x48, 0x5b, 0xbf, 0x7a, 0x4, 0x7b } }
static

Definition at line 92 of file ui_element.h.