From: Andreas K. <and...@ac...> - 2009-02-11 18:53:57
|
Time to summarize a bit ... Concepts Theme, Icon theme * Each theme has a name, is identified by it. * The totality of all themes forms a set, with no further structure. Icon * Distinguish between logical and physical identifications. * A single logical icon is identified by a name. It can have multiple physical representations. * The set of logical icons can be partitioned into multiple sub-sets by various criteria: - standard vs non-standard names aka meanings - context the icon is used in (dialog, menu, button, toolbar, ...). ??? Should the context of the icon be reflected in the name, i.e. like 'menu.folder' | 'folder.button' 'button.folder' | 'folder.menu' * A physical icon is identified by Name of the logical icon it belongs to. Name of the theme it is made for. Size Name of the mode it is for. The physical icon for the smaller sizes and the active/disabled modes can be automatically derived from the largest physical icon for mode 'normal' in its equivalence class. Physical icons are in the same class if they have identical names for logical icon and theme. Mode * Three modes, 'normal', 'disabled', and 'active'. Normal is the standard look of the icon in the theme. Active is 'brighter', i.e. highlighted. Disabled is 'greyed out'. ??? Should we distinguish between 'active' and 'selected' So, physical icons are organized in a 2-dimensional matrix, with the theme names and logical icon names as the axes. Assuming that representations for smaller sizes and different modes are computed from the 'normal' icon with a standard size this is enough. Otherwise we need two more dimensions. The structure among the logical icon names due to context of use can be either a separate axis (argument in the package API), or folded into the icon name through some sort of scheme. Andreas. |