mirror of https://github.com/buggins/dlangui.git
High DPI and resource sizes in points support, possible fix for issue #72
This commit is contained in:
parent
6cfe98a4f1
commit
3b4e98b024
|
@ -173,6 +173,35 @@ struct Rect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Layout size constants
|
||||||
|
/// layout option, to occupy all available place
|
||||||
|
immutable int FILL_PARENT = 0x4000_0000;
|
||||||
|
/// layout option, for size based on content
|
||||||
|
immutable int WRAP_CONTENT = 0x2000_0000;
|
||||||
|
/// use as widget.layout() param to avoid applying of parent size
|
||||||
|
immutable int SIZE_UNSPECIFIED = 0x6000_0000;
|
||||||
|
|
||||||
|
/// use in styles to specify size in points (1/72 inch)
|
||||||
|
immutable int SIZE_IN_POINTS_FLAG = 0x1000_0000;
|
||||||
|
/// (RESERVED) use in styles to specify size in percents * 100 (e.g. 0 == 0%, 10000 == 100%, 100 = 1%)
|
||||||
|
immutable int SIZE_IN_PERCENTS_FLAG = 0x0800_0000;
|
||||||
|
|
||||||
|
|
||||||
|
/// convert custom size to pixels (sz can be either pixels, or points if SIZE_IN_POINTS_FLAG bit set)
|
||||||
|
int toPixels(int sz) {
|
||||||
|
return sz > 0 ? ((sz & SIZE_IN_POINTS_FLAG) ? pointsToPixels(sz ^ SIZE_IN_POINTS_FLAG) : sz) : sz;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// convert custom size Point to pixels (sz can be either pixels, or points if SIZE_IN_POINTS_FLAG bit set)
|
||||||
|
Point toPixels(const Point sz) {
|
||||||
|
return Point(toPixels(sz.x), toPixels(sz.y));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// convert custom size Rect to pixels (sz can be either pixels, or points if SIZE_IN_POINTS_FLAG bit set)
|
||||||
|
Rect toPixels(const Rect sz) {
|
||||||
|
return Rect(toPixels(sz.left), toPixels(sz.top), toPixels(sz.right), toPixels(sz.bottom));
|
||||||
|
}
|
||||||
|
|
||||||
/// screen dots per inch
|
/// screen dots per inch
|
||||||
private __gshared int PRIVATE_SCREEN_DPI = 96;
|
private __gshared int PRIVATE_SCREEN_DPI = 96;
|
||||||
|
|
||||||
|
|
|
@ -292,8 +292,8 @@ static uint decodeDimension(string s) {
|
||||||
// TODO: convert points to pixels
|
// TODO: convert points to pixels
|
||||||
switch(units) {
|
switch(units) {
|
||||||
case DimensionUnits.points:
|
case DimensionUnits.points:
|
||||||
// convert points to pixels
|
// need to convert points to pixels
|
||||||
value = pointsToPixels(value);
|
value |= SIZE_IN_POINTS_FLAG;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -301,6 +301,7 @@ static uint decodeDimension(string s) {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// decode solid color / gradient / frame drawable from string like #AARRGGBB, e.g. #5599AA
|
/// decode solid color / gradient / frame drawable from string like #AARRGGBB, e.g. #5599AA
|
||||||
///
|
///
|
||||||
/// SolidFillDrawable: #AARRGGBB - e.g. #8090A0 or #80ffffff
|
/// SolidFillDrawable: #AARRGGBB - e.g. #8090A0 or #80ffffff
|
||||||
|
|
|
@ -928,8 +928,16 @@ class SDLPlatform : Platform {
|
||||||
|
|
||||||
override Window createWindow(dstring windowCaption, Window parent, uint flags = WindowFlag.Resizable, uint width = 0, uint height = 0) {
|
override Window createWindow(dstring windowCaption, Window parent, uint flags = WindowFlag.Resizable, uint width = 0, uint height = 0) {
|
||||||
setDefaultLanguageAndThemeIfNecessary();
|
setDefaultLanguageAndThemeIfNecessary();
|
||||||
|
int oldDPI = SCREEN_DPI;
|
||||||
SDLWindow res = new SDLWindow(this, windowCaption, parent, flags, width, height);
|
SDLWindow res = new SDLWindow(this, windowCaption, parent, flags, width, height);
|
||||||
_windowMap[res.windowId] = res;
|
_windowMap[res.windowId] = res;
|
||||||
|
version(Windows) {
|
||||||
|
width = pointsToPixels(width);
|
||||||
|
height = pointsToPixels(height);
|
||||||
|
res.doResize(width, height);
|
||||||
|
}
|
||||||
|
if (oldDPI != SCREEN_DPI)
|
||||||
|
onThemeChanged();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -778,6 +778,8 @@ class Win32Platform : Platform {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
override Window createWindow(dstring windowCaption, Window parent, uint flags = WindowFlag.Resizable, uint width = 0, uint height = 0) {
|
override Window createWindow(dstring windowCaption, Window parent, uint flags = WindowFlag.Resizable, uint width = 0, uint height = 0) {
|
||||||
|
width = pointsToPixels(width);
|
||||||
|
height = pointsToPixels(height);
|
||||||
setDefaultLanguageAndThemeIfNecessary();
|
setDefaultLanguageAndThemeIfNecessary();
|
||||||
return new Win32Window(this, windowCaption, parent, flags, width, height);
|
return new Win32Window(this, windowCaption, parent, flags, width, height);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,11 @@ Synopsis:
|
||||||
|
|
||||||
----
|
----
|
||||||
import dlangui.widgets.styles;
|
import dlangui.widgets.styles;
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
Recent changes:
|
||||||
|
Dimensions like fontSize, padding, margins, min/max width and height can be specified in points, e.g. minWidth = "3pt" margins="1pt,2pt,1pt,2pt"
|
||||||
|
|
||||||
Copyright: Vadim Lopatin, 2014
|
Copyright: Vadim Lopatin, 2014
|
||||||
License: Boost License 1.0
|
License: Boost License 1.0
|
||||||
Authors: Vadim Lopatin, coolreader.org@gmail.com
|
Authors: Vadim Lopatin, coolreader.org@gmail.com
|
||||||
|
@ -180,13 +182,6 @@ immutable string STYLE_COLOR_WINDOW_BACKGROUND = "window_background";
|
||||||
immutable string STYLE_COLOR_DIALOG_BACKGROUND = "dialog_background";
|
immutable string STYLE_COLOR_DIALOG_BACKGROUND = "dialog_background";
|
||||||
|
|
||||||
|
|
||||||
// Layout size constants
|
|
||||||
/// layout option, to occupy all available place
|
|
||||||
immutable int FILL_PARENT = int.max - 1;
|
|
||||||
/// layout option, for size based on content
|
|
||||||
immutable int WRAP_CONTENT = int.max - 2;
|
|
||||||
/// use as widget.layout() param to avoid applying of parent size
|
|
||||||
immutable int SIZE_UNSPECIFIED = int.max;
|
|
||||||
|
|
||||||
// Other style constants
|
// Other style constants
|
||||||
|
|
||||||
|
@ -262,8 +257,8 @@ class Style {
|
||||||
protected ubyte _align = Align.TopLeft;
|
protected ubyte _align = Align.TopLeft;
|
||||||
protected ubyte _fontStyle = FONT_STYLE_UNSPECIFIED;
|
protected ubyte _fontStyle = FONT_STYLE_UNSPECIFIED;
|
||||||
protected FontFamily _fontFamily = FontFamily.Unspecified;
|
protected FontFamily _fontFamily = FontFamily.Unspecified;
|
||||||
protected ushort _fontSize = FONT_SIZE_UNSPECIFIED;
|
|
||||||
protected ushort _fontWeight = FONT_WEIGHT_UNSPECIFIED;
|
protected ushort _fontWeight = FONT_WEIGHT_UNSPECIFIED;
|
||||||
|
protected int _fontSize = FONT_SIZE_UNSPECIFIED;
|
||||||
protected uint _backgroundColor = COLOR_UNSPECIFIED;
|
protected uint _backgroundColor = COLOR_UNSPECIFIED;
|
||||||
protected uint _textColor = COLOR_UNSPECIFIED;
|
protected uint _textColor = COLOR_UNSPECIFIED;
|
||||||
protected uint _textFlags = 0;
|
protected uint _textFlags = 0;
|
||||||
|
@ -447,9 +442,9 @@ class Style {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// font size
|
/// font size
|
||||||
@property ushort fontSize() const {
|
@property int fontSize() const {
|
||||||
if (_fontSize != FONT_SIZE_UNSPECIFIED)
|
if (_fontSize != FONT_SIZE_UNSPECIFIED)
|
||||||
return _fontSize;
|
return toPixels(_fontSize);
|
||||||
else
|
else
|
||||||
return parentStyle.fontSize;
|
return parentStyle.fontSize;
|
||||||
}
|
}
|
||||||
|
@ -458,17 +453,17 @@ class Style {
|
||||||
// layout parameters: margins / padding
|
// layout parameters: margins / padding
|
||||||
|
|
||||||
/// padding
|
/// padding
|
||||||
@property ref const(Rect) padding() const {
|
@property const(Rect) padding() const {
|
||||||
if (_stateMask || _padding.left == SIZE_UNSPECIFIED)
|
if (_stateMask || _padding.left == SIZE_UNSPECIFIED)
|
||||||
return parentStyle._padding;
|
return toPixels(parentStyle._padding);
|
||||||
return _padding;
|
return toPixels(_padding);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// margins
|
/// margins
|
||||||
@property ref const(Rect) margins() const {
|
@property const(Rect) margins() const {
|
||||||
if (_stateMask || _margins.left == SIZE_UNSPECIFIED)
|
if (_stateMask || _margins.left == SIZE_UNSPECIFIED)
|
||||||
return parentStyle._margins;
|
return toPixels(parentStyle._margins);
|
||||||
return _margins;
|
return toPixels(_margins);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// alpha (0=opaque .. 255=transparent)
|
/// alpha (0=opaque .. 255=transparent)
|
||||||
|
@ -528,28 +523,28 @@ class Style {
|
||||||
/// minimal width constraint, 0 if limit is not set
|
/// minimal width constraint, 0 if limit is not set
|
||||||
@property uint minWidth() const {
|
@property uint minWidth() const {
|
||||||
if (_minWidth != SIZE_UNSPECIFIED)
|
if (_minWidth != SIZE_UNSPECIFIED)
|
||||||
return _minWidth;
|
return toPixels(_minWidth);
|
||||||
else
|
else
|
||||||
return parentStyle.minWidth;
|
return parentStyle.minWidth;
|
||||||
}
|
}
|
||||||
/// max width constraint, returns SIZE_UNSPECIFIED if limit is not set
|
/// max width constraint, returns SIZE_UNSPECIFIED if limit is not set
|
||||||
@property uint maxWidth() const {
|
@property uint maxWidth() const {
|
||||||
if (_maxWidth != SIZE_UNSPECIFIED)
|
if (_maxWidth != SIZE_UNSPECIFIED)
|
||||||
return _maxWidth;
|
return toPixels(_maxWidth);
|
||||||
else
|
else
|
||||||
return parentStyle.maxWidth;
|
return parentStyle.maxWidth;
|
||||||
}
|
}
|
||||||
/// minimal height constraint, 0 if limit is not set
|
/// minimal height constraint, 0 if limit is not set
|
||||||
@property uint minHeight() const {
|
@property uint minHeight() const {
|
||||||
if (_minHeight != SIZE_UNSPECIFIED)
|
if (_minHeight != SIZE_UNSPECIFIED)
|
||||||
return _minHeight;
|
return toPixels(_minHeight);
|
||||||
else
|
else
|
||||||
return parentStyle.minHeight;
|
return parentStyle.minHeight;
|
||||||
}
|
}
|
||||||
/// max height constraint, SIZE_UNSPECIFIED if limit is not set
|
/// max height constraint, SIZE_UNSPECIFIED if limit is not set
|
||||||
@property uint maxHeight() const {
|
@property uint maxHeight() const {
|
||||||
if (_maxHeight != SIZE_UNSPECIFIED)
|
if (_maxHeight != SIZE_UNSPECIFIED)
|
||||||
return _maxHeight;
|
return toPixels(_maxHeight);
|
||||||
else
|
else
|
||||||
return parentStyle.maxHeight;
|
return parentStyle.maxHeight;
|
||||||
}
|
}
|
||||||
|
@ -660,7 +655,7 @@ class Style {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property Style fontSize(ushort size) {
|
@property Style fontSize(int size) {
|
||||||
_fontSize = size;
|
_fontSize = size;
|
||||||
_font.clear();
|
_font.clear();
|
||||||
return this;
|
return this;
|
||||||
|
@ -832,7 +827,7 @@ class Theme : Style {
|
||||||
_textColor = 0x000000; // black
|
_textColor = 0x000000; // black
|
||||||
_maxLines = 1;
|
_maxLines = 1;
|
||||||
_align = Align.TopLeft;
|
_align = Align.TopLeft;
|
||||||
_fontSize = 14; // TODO: from settings or screen properties / DPI
|
_fontSize = 9 | SIZE_IN_POINTS_FLAG; // TODO: from settings or screen properties / DPI
|
||||||
_fontStyle = FONT_STYLE_NORMAL;
|
_fontStyle = FONT_STYLE_NORMAL;
|
||||||
_fontWeight = 400;
|
_fontWeight = 400;
|
||||||
//_fontFace = "Arial"; // TODO: from settings
|
//_fontFace = "Arial"; // TODO: from settings
|
||||||
|
|
|
@ -460,9 +460,9 @@ class Widget {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
/// returns font size in pixels
|
/// returns font size in pixels
|
||||||
@property ushort fontSize() const { return stateStyle.fontSize; }
|
@property int fontSize() const { return stateStyle.fontSize; }
|
||||||
/// set font size for widget - override one from style
|
/// set font size for widget - override one from style
|
||||||
@property Widget fontSize(ushort size) {
|
@property Widget fontSize(int size) {
|
||||||
ownStyle.fontSize = size;
|
ownStyle.fontSize = size;
|
||||||
requestLayout();
|
requestLayout();
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<theme id="theme_dark" parent="theme_default"
|
<theme id="theme_dark" parent="theme_default"
|
||||||
fontFace="Verdana,Arial,DejaVu Sans"
|
|
||||||
fontFamily="SansSerif"
|
|
||||||
textColor="#E0E0E0"
|
textColor="#E0E0E0"
|
||||||
>
|
>
|
||||||
<color id="window_background" value="#000000"/>
|
<color id="window_background" value="#000000"/>
|
||||||
|
@ -28,24 +26,17 @@
|
||||||
|
|
||||||
<style id="BUTTON"
|
<style id="BUTTON"
|
||||||
backgroundImageId="btn_background_dark"
|
backgroundImageId="btn_background_dark"
|
||||||
align="Center"
|
|
||||||
margins="5,5,5,5"
|
|
||||||
focusRectColors="#FFF"
|
focusRectColors="#FFF"
|
||||||
textFlags="UnderlineHotKeys"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#60FFFFFF"/>
|
<state state_enabled="false" textColor="#60FFFFFF"/>
|
||||||
<state state_enabled="true" state_hovered="true" textColor="#E0E080"/>
|
<state state_enabled="true" state_hovered="true" textColor="#E0E080"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="BUTTON_TRANSPARENT"
|
<style id="BUTTON_TRANSPARENT"
|
||||||
backgroundImageId="btn_background_transparent_dark"
|
backgroundImageId="btn_background_transparent_dark"
|
||||||
align="Center"
|
|
||||||
/>
|
/>
|
||||||
<style id="BUTTON_LABEL"
|
<style id="BUTTON_LABEL"
|
||||||
layoutWidth="FILL_PARENT"
|
layoutWidth="FILL_PARENT"
|
||||||
margins="2,2,2,2"
|
|
||||||
align="Left|VCenter"
|
|
||||||
focusRectColors="#FFF"
|
focusRectColors="#FFF"
|
||||||
textFlags="UnderlineHotKeys"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#60FFFFFF"/>
|
<state state_enabled="false" textColor="#60FFFFFF"/>
|
||||||
<state state_enabled="true" state_hovered="true" textColor="#E0E080"/>
|
<state state_enabled="true" state_hovered="true" textColor="#E0E080"/>
|
||||||
|
@ -57,68 +48,26 @@
|
||||||
<state state_enabled="false" textColor="#60FFFFFF"/>
|
<state state_enabled="false" textColor="#60FFFFFF"/>
|
||||||
<state state_enabled="true" state_hovered="true" textColor="#A0A0FF" textFlags="Underline"/>
|
<state state_enabled="true" state_hovered="true" textColor="#A0A0FF" textFlags="Underline"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="BUTTON_IMAGE"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
align="Center"
|
|
||||||
/>
|
|
||||||
<style id="CHECKBOX"
|
|
||||||
backgroundImageId="@null"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
padding="2,2,2,2"
|
|
||||||
focusRectColors="@null"
|
|
||||||
/>
|
|
||||||
<style id="CHECKBOX_IMAGE" parent="BUTTON_IMAGE"
|
|
||||||
align="Center"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
/>
|
|
||||||
<style id="CHECKBOX_LABEL" parent="BUTTON_LABEL"
|
<style id="CHECKBOX_LABEL" parent="BUTTON_LABEL"
|
||||||
align="Left|VCenter"
|
|
||||||
focusRectColors="#FFF"
|
focusRectColors="#FFF"
|
||||||
>
|
>
|
||||||
<state state_enabled="true" state_hovered="true" textColor="#C0FFFF"/>
|
<state state_enabled="true" state_hovered="true" textColor="#C0FFFF"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="RADIOBUTTON" parent="CHECKBOX"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
padding="2,2,2,2"
|
|
||||||
/>
|
|
||||||
<style id="RADIOBUTTON_IMAGE" parent="CHECKBOX_IMAGE"
|
|
||||||
align="Center"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
/>
|
|
||||||
<style id="RADIOBUTTON_LABEL" parent="CHECKBOX_LABEL"
|
<style id="RADIOBUTTON_LABEL" parent="CHECKBOX_LABEL"
|
||||||
align="Left|VCenter"
|
|
||||||
focusRectColors="#FFF"
|
focusRectColors="#FFF"
|
||||||
>
|
>
|
||||||
<state state_enabled="true" state_hovered="true" textColor="#C0FFFF"/>
|
<state state_enabled="true" state_hovered="true" textColor="#C0FFFF"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="TEXT"
|
<style id="TEXT"
|
||||||
margins="2,2,2,2"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
align="Left|VCenter"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#A0FFFFFF"/>
|
<state state_enabled="false" textColor="#A0FFFFFF"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="MULTILINE_TEXT"
|
<style id="MULTILINE_TEXT"
|
||||||
margins="2,2,2,2"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
align="Left|VCenter"
|
|
||||||
maxLines = "0"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#A0FFFFFF"/>
|
<state state_enabled="false" textColor="#A0FFFFFF"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="HSPACER"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutWeight="100"
|
|
||||||
minWidth="5"
|
|
||||||
/>
|
|
||||||
<style id="VSPACER"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
layoutWeight="100"
|
|
||||||
minHeight="5"
|
|
||||||
/>
|
|
||||||
<style id="BUTTON_NOMARGINS"
|
<style id="BUTTON_NOMARGINS"
|
||||||
backgroundImageId="btn_background_dark"
|
backgroundImageId="btn_background_dark"
|
||||||
align="Center"
|
|
||||||
/>
|
/>
|
||||||
<drawable id="btn_check" value="btn_check_dark"/>
|
<drawable id="btn_check" value="btn_check_dark"/>
|
||||||
<drawable id="btn_radio" value="btn_radio_dark"/>
|
<drawable id="btn_radio" value="btn_radio_dark"/>
|
||||||
|
@ -141,11 +90,6 @@
|
||||||
|
|
||||||
<style id="SCROLLBAR"
|
<style id="SCROLLBAR"
|
||||||
backgroundColor="#C0808080"
|
backgroundColor="#C0808080"
|
||||||
align="Center"
|
|
||||||
/>
|
|
||||||
<style id="SCROLLBAR_BUTTON" parent="BUTTON"
|
|
||||||
/>
|
|
||||||
<style id="SLIDER"
|
|
||||||
/>
|
/>
|
||||||
<style id="PAGE_SCROLL"
|
<style id="PAGE_SCROLL"
|
||||||
backgroundColor="#FFFFFFFF"
|
backgroundColor="#FFFFFFFF"
|
||||||
|
@ -156,25 +100,20 @@
|
||||||
|
|
||||||
<style id="TAB_DOWN_DARK"
|
<style id="TAB_DOWN_DARK"
|
||||||
backgroundImageId="tab_down_background_theme_dark"
|
backgroundImageId="tab_down_background_theme_dark"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
>
|
>
|
||||||
</style>
|
</style>
|
||||||
<style id="TAB_DOWN_BUTTON_DARK"
|
<style id="TAB_DOWN_BUTTON_DARK"
|
||||||
padding="5,1,1,1"
|
|
||||||
backgroundImageId="tab_btn_dark_down_dark"
|
backgroundImageId="tab_btn_dark_down_dark"
|
||||||
/>
|
/>
|
||||||
<style id="TAB_UP_DARK"
|
<style id="TAB_UP_DARK"
|
||||||
backgroundImageId="tab_up_background_theme_dark"
|
backgroundImageId="tab_up_background_theme_dark"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
>
|
>
|
||||||
</style>
|
</style>
|
||||||
<style id="TAB_UP_BUTTON_DARK"
|
<style id="TAB_UP_BUTTON_DARK"
|
||||||
padding="5,1,1,1"
|
|
||||||
backgroundImageId="tab_btn_dark_up_dark"
|
backgroundImageId="tab_btn_dark_up_dark"
|
||||||
/>
|
/>
|
||||||
<style id="TAB_UP_BUTTON_DARK_TEXT"
|
<style id="TAB_UP_BUTTON_DARK_TEXT"
|
||||||
textColor="#E0E0E0"
|
textColor="#E0E0E0"
|
||||||
align="Center"
|
|
||||||
>
|
>
|
||||||
<state state_selected="true" state_window_focused="true" state_hovered="true" textColor="#FFFFC0"/>
|
<state state_selected="true" state_window_focused="true" state_hovered="true" textColor="#FFFFC0"/>
|
||||||
<state state_selected="true" state_window_focused="true" textColor="#FFFFE0"/>
|
<state state_selected="true" state_window_focused="true" textColor="#FFFFE0"/>
|
||||||
|
@ -185,13 +124,11 @@
|
||||||
</style>
|
</style>
|
||||||
<style id="TAB_UP"
|
<style id="TAB_UP"
|
||||||
backgroundImageId="tab_up_background_theme_dark"
|
backgroundImageId="tab_up_background_theme_dark"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
>
|
>
|
||||||
<state state_selected="true" backgroundImageId="tab_up_backgrond_selected_dark"/>
|
<state state_selected="true" backgroundImageId="tab_up_backgrond_selected_dark"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="TAB_UP_BUTTON_TEXT"
|
<style id="TAB_UP_BUTTON_TEXT"
|
||||||
textColor="#C0C0C0"
|
textColor="#C0C0C0"
|
||||||
align="Center"
|
|
||||||
>
|
>
|
||||||
<state state_selected="true" state_focused="true" textColor="#FFFFC0"/>
|
<state state_selected="true" state_focused="true" textColor="#FFFFC0"/>
|
||||||
<state state_selected="true" textColor="#FFFFC0"/>
|
<state state_selected="true" textColor="#FFFFC0"/>
|
||||||
|
@ -202,8 +139,6 @@
|
||||||
backgroundImageId="tab_btn_up_dark"
|
backgroundImageId="tab_btn_up_dark"
|
||||||
/>
|
/>
|
||||||
<style id="TAB_HOST"
|
<style id="TAB_HOST"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
backgroundColor="#101010"
|
backgroundColor="#101010"
|
||||||
/>
|
/>
|
||||||
<style id="TAB_WIDGET"
|
<style id="TAB_WIDGET"
|
||||||
|
@ -211,49 +146,33 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<style id="MAIN_MENU"
|
<style id="MAIN_MENU"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
backgroundColor="#202020"
|
backgroundColor="#202020"
|
||||||
layoutWeight="0"
|
|
||||||
/>
|
/>
|
||||||
<style id="MAIN_MENU_ITEM"
|
<style id="MAIN_MENU_ITEM"
|
||||||
padding="4,2,4,2"
|
|
||||||
backgroundImageId="main_menu_item_background_dark"
|
backgroundImageId="main_menu_item_background_dark"
|
||||||
textFlags="Parent"
|
|
||||||
/>
|
/>
|
||||||
<style id="MENU_ITEM"
|
<style id="MENU_ITEM"
|
||||||
backgroundImageId="menu_item_background_dark"
|
backgroundImageId="menu_item_background_dark"
|
||||||
padding="4,2,4,2"
|
|
||||||
>
|
>
|
||||||
</style>
|
</style>
|
||||||
<style id="MENU_ICON"
|
<style id="MENU_ICON"
|
||||||
margins="2,2,2,2"
|
|
||||||
align="Left|VCenter"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" alpha="160"/>
|
<state state_enabled="false" alpha="160"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="MENU_LABEL"
|
<style id="MENU_LABEL"
|
||||||
margins="4,2,4,2"
|
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="UnderlineHotKeys"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#808080"/>
|
<state state_enabled="false" textColor="#808080"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="MAIN_MENU_LABEL"
|
<style id="MAIN_MENU_LABEL"
|
||||||
margins="4,2,4,2"
|
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="Parent"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#808080"/>
|
<state state_enabled="false" textColor="#808080"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="MENU_ACCEL"
|
<style id="MENU_ACCEL"
|
||||||
margins="4,2,4,2"
|
|
||||||
align="Left|VCenter"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" textColor="#808080"/>
|
<state state_enabled="false" textColor="#808080"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="TRANSPARENT_BUTTON_BACKGROUND"
|
<style id="TRANSPARENT_BUTTON_BACKGROUND"
|
||||||
backgroundImageId="btn_background_transparent_dark"
|
backgroundImageId="btn_background_transparent_dark"
|
||||||
padding="4,2,4,2"
|
|
||||||
/>
|
/>
|
||||||
<style id="POPUP_MENU"
|
<style id="POPUP_MENU"
|
||||||
backgroundImageId="popup_menu_background_normal_dark"
|
backgroundImageId="popup_menu_background_normal_dark"
|
||||||
|
@ -264,123 +183,59 @@
|
||||||
|
|
||||||
<style id="COMBO_BOX"
|
<style id="COMBO_BOX"
|
||||||
backgroundImageId="combobox_background_dark"
|
backgroundImageId="combobox_background_dark"
|
||||||
padding="2,2,2,2"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
minWidth="40"
|
|
||||||
/>
|
/>
|
||||||
<style id="COMBO_BOX_BODY"
|
<style id="COMBO_BOX_BODY"
|
||||||
padding="2,2,2,2"
|
|
||||||
minWidth="40"
|
|
||||||
align="Left|VCenter"
|
|
||||||
focusRectColors="#FFF"
|
focusRectColors="#FFF"
|
||||||
/>
|
/>
|
||||||
<style id="COMBO_BOX_BUTTON"
|
<style id="COMBO_BOX_BUTTON"
|
||||||
padding="2,2,2,2"
|
|
||||||
backgroundImageId="btn_background_transparent_dark"
|
backgroundImageId="btn_background_transparent_dark"
|
||||||
align="Center"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<style id="EDIT_LINE"
|
<style id="EDIT_LINE"
|
||||||
backgroundImageId="editbox_background_dark"
|
backgroundImageId="editbox_background_dark"
|
||||||
padding="4,4,4,4"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
minWidth="40"
|
|
||||||
/>
|
/>
|
||||||
<style id="EDIT_BOX"
|
<style id="EDIT_BOX"
|
||||||
backgroundImageId="editbox_background_dark"
|
backgroundImageId="editbox_background_dark"
|
||||||
padding="2,2,2,2"
|
|
||||||
margins="2,2,2,2"
|
|
||||||
minWidth="100"
|
|
||||||
minHeight="60"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
/>
|
/>
|
||||||
<style id="STATUS_LINE"
|
<style id="STATUS_LINE"
|
||||||
backgroundColor="#101010"
|
backgroundColor="#101010"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
layoutWeight="0"
|
|
||||||
/>
|
/>
|
||||||
<style id="DOCK_HOST"
|
<style id="DOCK_HOST"
|
||||||
backgroundColor="#091925"
|
backgroundColor="#091925"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
padding="2,2,2,2"
|
|
||||||
/>
|
|
||||||
<style id="DOCK_HOST_BODY"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
margins="4,4,4,4"
|
|
||||||
/>
|
/>
|
||||||
<style id="DOCK_WINDOW"
|
<style id="DOCK_WINDOW"
|
||||||
backgroundColor="#8E9BBC"
|
backgroundColor="#8E9BBC"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
margins="4,4,4,4"
|
|
||||||
/>
|
/>
|
||||||
<style id="FLOATING_WINDOW"
|
<style id="FLOATING_WINDOW"
|
||||||
backgroundImageId="popup_window_background_dark"
|
backgroundImageId="popup_window_background_dark"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
margins="4,4,4,4"
|
|
||||||
/>
|
/>
|
||||||
<style id="DOCK_WINDOW_CAPTION"
|
<style id="DOCK_WINDOW_CAPTION"
|
||||||
backgroundColor="#3d5072"
|
backgroundColor="#3d5072"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
/>
|
/>
|
||||||
<style id="DOCK_WINDOW_CAPTION_LABEL"
|
<style id="DOCK_WINDOW_CAPTION_LABEL"
|
||||||
textColor="#E0E0E0"
|
textColor="#E0E0E0"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
padding="3,3,3,3"
|
|
||||||
align="Left|VCenter"
|
|
||||||
/>
|
/>
|
||||||
<style id="DOCK_WINDOW_BODY"
|
<style id="DOCK_WINDOW_BODY"
|
||||||
backgroundColor="#000000"
|
backgroundColor="#000000"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="FILL_PARENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<style id="TOOLBAR_HOST"
|
<style id="TOOLBAR_HOST"
|
||||||
backgroundColor="#202325"
|
backgroundColor="#202325"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
padding="1,1,1,1"
|
|
||||||
/>
|
/>
|
||||||
<style id="TOOLTIP"
|
<style id="TOOLTIP"
|
||||||
backgroundImageId="tooltip_background_dark"
|
backgroundImageId="tooltip_background_dark"
|
||||||
layoutWidth="WRAP_CONTENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
margins="2,7,2,1"
|
|
||||||
padding="3,3,3,3"
|
|
||||||
textColor="#E0E0E0"
|
textColor="#E0E0E0"
|
||||||
/>
|
/>
|
||||||
<style id="TOOLBAR"
|
<style id="TOOLBAR"
|
||||||
backgroundImageId="toolbar_background_dark"
|
backgroundImageId="toolbar_background_dark"
|
||||||
layoutWidth="WRAP_CONTENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
margins="2,1,2,1"
|
|
||||||
/>
|
/>
|
||||||
<style id="TOOLBAR_BUTTON"
|
<style id="TOOLBAR_BUTTON"
|
||||||
backgroundImageId="toolbar_button_background_dark"
|
backgroundImageId="toolbar_button_background_dark"
|
||||||
align="Center"
|
|
||||||
margins="1,1,1,1"
|
|
||||||
padding="2,2,2,2"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" alpha="160" backgroundImageId="@null"/>
|
<state state_enabled="false" alpha="160" backgroundImageId="@null"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="TOOLBAR_CONTROL"
|
<style id="TOOLBAR_CONTROL"
|
||||||
backgroundImageId="toolbar_control_background_dark"
|
backgroundImageId="toolbar_control_background_dark"
|
||||||
align="Center"
|
|
||||||
margins="1,1,1,1"
|
|
||||||
padding="2,2,2,2"
|
|
||||||
>
|
>
|
||||||
<state state_enabled="false" alpha="160" backgroundImageId="@null"/>
|
<state state_enabled="false" alpha="160" backgroundImageId="@null"/>
|
||||||
</style>
|
</style>
|
||||||
|
@ -388,57 +243,14 @@
|
||||||
align="Center"
|
align="Center"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<style id="TREE_ITEM"
|
|
||||||
minWidth="100"
|
|
||||||
minHeight="14"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
>
|
|
||||||
</style>
|
|
||||||
<style id="TREE_ITEM_EXPAND_ICON"
|
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="Parent"
|
|
||||||
/>
|
|
||||||
<style id="TREE_ITEM_BODY"
|
<style id="TREE_ITEM_BODY"
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="Parent"
|
|
||||||
backgroundImageId="list_item_background_dark"
|
backgroundImageId="list_item_background_dark"
|
||||||
/>
|
/>
|
||||||
<style id="TREE_ITEM_ICON"
|
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="Parent"
|
|
||||||
/>
|
|
||||||
<style id="TREE_ITEM_LABEL"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
align="Left|VCenter"
|
|
||||||
textFlags="Parent"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<style id="SETTINGS_TREE"
|
<style id="SETTINGS_TREE"
|
||||||
margins="8,8,8,8"
|
|
||||||
backgroundColor="#000000"
|
backgroundColor="#000000"
|
||||||
layoutWeight="3"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<style id="SETTINGS_PAGES"
|
|
||||||
margins="0,8,8,8"
|
|
||||||
padding="4,4,4,4"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutWeight="5"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<style id="SETTINGS_PAGE_TITLE"
|
|
||||||
margins="4,4,4,14"
|
|
||||||
layoutWeight="0"
|
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<style id="RESIZER_VERTICAL"
|
<style id="RESIZER_VERTICAL"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
minHeight="7"
|
|
||||||
maxHeight="7"
|
|
||||||
backgroundColor="#303030">
|
backgroundColor="#303030">
|
||||||
<state state_focused="true" backgroundColor="#40404000"/>
|
<state state_focused="true" backgroundColor="#40404000"/>
|
||||||
<state state_pressed="true" backgroundColor="#40406000"/>
|
<state state_pressed="true" backgroundColor="#40406000"/>
|
||||||
|
@ -446,10 +258,6 @@
|
||||||
<state state_hovered="true" backgroundColor="#C0404000"/>
|
<state state_hovered="true" backgroundColor="#C0404000"/>
|
||||||
</style>
|
</style>
|
||||||
<style id="RESIZER_HORIZONTAL"
|
<style id="RESIZER_HORIZONTAL"
|
||||||
layoutWidth="FILL_PARENT"
|
|
||||||
layoutHeight="WRAP_CONTENT"
|
|
||||||
minWidth="7"
|
|
||||||
maxWidth="7"
|
|
||||||
backgroundColor="#303030">
|
backgroundColor="#303030">
|
||||||
<state state_focused="true" backgroundColor="#40404000"/>
|
<state state_focused="true" backgroundColor="#40404000"/>
|
||||||
<state state_pressed="true" backgroundColor="#40406000"/>
|
<state state_pressed="true" backgroundColor="#40406000"/>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<theme id="theme_default"
|
<theme id="theme_default"
|
||||||
fontSize="9pt"
|
fontSize="11pt"
|
||||||
fontFace="Verdana,Arial,DejaVu Sans"
|
fontFace="Verdana,Arial,DejaVu Sans"
|
||||||
fontFamily="SansSerif"
|
fontFamily="SansSerif"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in New Issue