.developing hidpi

git-svn-id: svn://ultimatepp.org/upp/trunk@8475 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2015-05-26 13:16:43 +00:00
parent 2e08c9a5ad
commit 80a52b6b8f
10 changed files with 32 additions and 24 deletions

View file

@ -965,6 +965,7 @@ CH_INT(GUI_AKD_Conservative, 0);
CH_INT(GUI_DragDistance, 4);
CH_INT(GUI_DblClickTime, 500);
CH_INT(GUI_WheelScrollLines, 3);
CH_INT(GUI_HiDPI, 0);
String Ctrl::Name0() const {
GuiLock __;

View file

@ -1302,6 +1302,8 @@ int GUI_DragDistance();
int GUI_DblClickTime();
int GUI_WheelScrollLines();
int GUI_HiDPI();
void GUI_GlobalStyle_Write(int);
void GUI_DragFullWindow_Write(int);
void GUI_PopUpEffect_Write(int);
@ -1312,6 +1314,7 @@ void GUI_AKD_Conservative_Write(int);
void GUI_DragDistance_Write(int);
void GUI_DblClickTime_Write(int);
void GUI_WheelScrollLines_Write(int);
void GUI_HiDPI_Write(int);
void EditFieldIsThin_Write(int);
void TopSeparator1_Write(Value);

View file

@ -227,6 +227,8 @@ public:
void PaintBar(Draw& w, const SeparatorCtrl::Style& ss,
const Value& pane, const Value& iconbar = Null, int iconsz = 0);
int GetHeight() const { return pane.GetPaneSize(true, INT_MAX).cy; }
BarCtrl& Align(int align);
BarCtrl& Top() { return Align(BAR_TOP); }
BarCtrl& Bottom() { return Align(BAR_BOTTOM); }

View file

@ -2,6 +2,11 @@
NAMESPACE_UPP
Image DPI(const Image& img)
{
return GUI_HiDPI() ? CachedRescale(img, 2 * img.GetSize(), FILTER_LANCZOS3) : img;
}
void CtrlsImageLook(Value *look, int i, int n)
{
while(n--)

View file

@ -1,3 +1,5 @@
Image DPI(const Image& img);
enum {
CTRL_NORMAL, CTRL_HOT, CTRL_PRESSED, CTRL_DISABLED,
CTRL_CHECKED, CTRL_HOTCHECKED

View file

@ -164,7 +164,9 @@ Image ToolButton::GetImage() const
UPP::Image m = img;
if(IsDarkColorFace() && !nodarkadjust)
m = MakeImage(m, AdjustForDarkBk);
return CachedRescale(m, min(m.GetSize(), maxiconsize));
m = CachedRescale(m, min(m.GetSize(), maxiconsize));
m = DPI(m);
return m;
}
Bar::Item& ToolButton::Image(const UPP::Image& img_)

View file

@ -17,22 +17,7 @@ rCtrl]&]
[s0;%% &]
[s2;%%
@@image:2300&162
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ρí<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ň<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Л<EFBFBD><EFBFBD><EFBFBD>詿<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>簿<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ψ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
檿<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǖ
(A3ABGgAAAOb/AAAAAHic7Z3NbhMxEID9frwDj8CV6155A7hz4IAQEkLcIKhFgAKoFSAiThQQtCJCkSpAVJWMqYlx/Tsee9eTdKxP0Wa7ntjenS+Ou02XR4slwzAMwzAMlp3Z3Qf3bt6+daMIVUVV7N54hmHooJygOPx6cHy8kuCiDlZVdN10/CvX7hCk+7AzTJbuaYJATTOUGeAmsYuqqKpnxwQXfLzCPmE2AoK5ky6qweqTS9HMxC6qoqrefUzm71fX73+EoI6U7BMaiHXp3pJg28qrDM6jHSf40yzdfYLILCWEmlek4BPdHQjqSMk+IYCdsNSU0kp0OkJNnO4+QWSW7ZNBCLNhtu39fiHik+eL7xDYJwTZGp84kxDjE39yApyiUPBJaWYZn2hppB/9gvCJOB/KnL6aXj97t4SA8ImIl5prtSiCX6WyGdPkFzD42O2f4ASl+4WOE8wdu8QSKptxwOxDZFbMJ4M1V/F7ZJ4W+cRvfGy7qKi+PH37DQJufpJIZ/QVW18LHifd8nScJnkBCU4EtE9iKyfLyBQFQva9OJiScJ9ksw+RWbZPjEZij3/HZRjsV6ycn7TyyZM3R5pLl6+abX9Pc580MQOuFjCO3ebs00T1xDE4SqOpK0/TsA3BQUYrJTbm6KGb0ietMis7P5FxmUgyPtl9fahQHdTop/6e7vOTmkt0VJ9kq9tVnJeGtMSxQWnO2hoZTymVPnFWTpzRbrJ+EvOJTFqixielmQX8/U5QJpKMT3b2v2hMN51tTb1PcFeaE6pJxY4+STwNB2lqg5F84pxZ9IlGjE+M9PqJkzgIn9gBW2UWxCcxmUgyPnm899lgOquxf9R3foKWSbAu3CfBNAFe5OJ8SeQLtCNYG5gZDk2fhO45cYdrvPUTe8N+6uyBBKnMrKxPhrMS+ykRn8xefbIxXXb2910/md4norAEIzjb/lCA2l9ng+AMB3EK0AMFjxMMWDRWhlKfSG8tJVgrG6QmsxyfOO1RJhHxyYkk45NHLw8cVJf9nR19Unnl+9WBAUX87RJyhQd9UhRh2eLzzn+HrI3kN6yGJj6xV07irzLW+onZhvskm32IzPLnJ3aT0jKRZO4/efjiA4SOn3eI+yQWCu6TRGN8G2BGwJjEi1Dpk6xMSoe68hhDq/tPnIrw7ENkVvDzjtaInpykc5nI/bGz+QJCl/vZ0BWbxBFe+jt106FEyCdFEf4dE7dBJejxhJxi+Gg7v9aJVT/bxK+fTFwQmRX0iTaJyE1OJBmf7M73IfD99ltGW5ngDnBakohT2mYKPinNrNh6rB7A7CtS8MnW/31xzfvmFtOk7w19sl4b0bO4wXssnqJ090nbvy/eFJ+Ulo3zCePTSqpgV0x0jA3B3EkX45PT0xMf1fHgfoOE+YQg3dOBYbJ0TxME+vuUTn7/QAD5PiWGYS4O+vsef/1cIYB83yPDMBeHsb+PmmGYCwX/vwyGYSjzB9cMmN8=)
&]
[s0;%% &]
[s9;%% This class provides tool`-bars.&]
@ -76,7 +61,8 @@ tyle][@(0.0.255) `&]_[* StyleDefault]()&]
[s3;%% &]
[s4; &]
[s5;:ToolBar`:`:GetStdHeight`(`): [@(0.0.255) static] [@(0.0.255) int]_[* GetStdHeight]()&]
[s2;%% Returns the standard height of a toolbar when used as a frame.&]
[s2;%% Returns the standard height of a toolbar when used as a frame.
Not that this is only valid for toolbar with normal sized icons.&]
[s3; &]
[s0; &]
[ {{10000@3 [s0;%% [*@(229)4 ToolBar`::Style]]}}&]
@ -85,4 +71,4 @@ tyle][@(0.0.255) `&]_[* StyleDefault]()&]
][*@3;3 ChStyle][@(0.0.255)3 <][*3 Style][@(0.0.255)3 >][3 _]&]
[s9;%% This structure defines the visual style of a ToolBar.&]
[s3; &]
[s0; ]
[s0; ]]

View file

@ -102,7 +102,8 @@ mainconfig
"" = "GUI GTK",
"" = "GUI MT X11",
"" = "GUI MT NOGTK",
"" = "GUI NOGTK";
"" = "GUI NOGTK",
"" = "GUI MT TEST_HIDPI";
custom() "",
"",

View file

@ -379,9 +379,9 @@ void Ide::Project(Bar& menu)
{
mainconfiglist.Enable(idestate == EDITING);
buildmode.Enable(idestate == EDITING);
menu.Add(mainconfiglist, 180);
menu.Add(mainconfiglist, HorzLayoutZoom(180));
menu.Gap(4);
menu.Add(buildmode, 180);
menu.Add(buildmode, HorzLayoutZoom(180));
menu.Separator();
}
if(!IsEditorMode()) {

View file

@ -316,10 +316,11 @@ void Ide::SetupBars()
menubar.Transparent();
if(toolbar_in_row) {
toolbar.SetFrame(NullFrame());
int tcy = max(mainconfiglist.GetStdSize().cy + VertLayoutZoom(2), toolbar.GetStdHeight());
bararea.Add(menubar.LeftPos(0, l).VCenterPos(menubar.GetStdHeight()));
bararea.Add(toolbar.HSizePos(l, r).VCenterPos(toolbar.GetStdHeight()));
bararea.Add(toolbar.HSizePos(l, r).VCenterPos(tcy));
bararea.Add(display.RightPos(4, r).VSizePos(2, 3));
bararea.Height(max(menubar.GetStdHeight(), toolbar.GetStdHeight()));
bararea.Height(max(menubar.GetStdHeight(), tcy));
AddFrame(bararea);
toolbar.Transparent();
}
@ -717,8 +718,13 @@ GUI_APP_MAIN
void AppMain___()
#endif
{
#ifdef flagTEST_HIDPI
Font fnt = GetStdFont();
SetStdFont(fnt.Height(2 * fnt.GetHeight()));
#endif
SetLanguage(LNG_ENGLISH);
SetDefaultCharset(CHARSET_UTF8);
GUI_HiDPI_Write(1);
const Vector<String>& arg = CommandLine();