trying to scroll...

This commit is contained in:
Adam D. Ruppe 2018-11-28 21:38:28 -05:00
parent d6c17ba2b6
commit d7a58821f2
2 changed files with 32 additions and 14 deletions

View File

@ -546,12 +546,12 @@ version(win32_widgets) {}
else version(custom_widgets) { else version(custom_widgets) {
enum windowBackgroundColor = Color(212, 212, 212); // used to be 192 enum windowBackgroundColor = Color(212, 212, 212); // used to be 192
enum activeTabColor = lightAccentColor; enum activeTabColor = lightAccentColor;
enum activeListXorColor = Color(255, 255, 0);
enum hoveringColor = Color(215, 215, 215); enum hoveringColor = Color(215, 215, 215);
enum buttonColor = windowBackgroundColor; enum buttonColor = windowBackgroundColor;
enum depressedButtonColor = darkAccentColor; enum depressedButtonColor = darkAccentColor;
enum progressBarColor = Color.blue; enum activeListXorColor = Color(255, 255, 127);
enum activeMenuItemColor = Color.blue; enum progressBarColor = Color(0, 0, 128);
enum activeMenuItemColor = Color(0, 0, 128);
} }
else static assert(false); else static assert(false);
// these are used by horizontal rule so not just custom_widgets. for now at least. // these are used by horizontal rule so not just custom_widgets. for now at least.
@ -1684,9 +1684,11 @@ class ListWidget : ScrollableWidget {
super(parent); super(parent);
} }
override void paint(ScreenPainter painter) { override void paintFrameAndBackground(ScreenPainter painter) {
draw3dFrame(this, painter, FrameStyle.sunk, Color.white); draw3dFrame(this, painter, FrameStyle.sunk, Color.white);
}
override void paint(ScreenPainter painter) {
auto pos = Point(4, 4); auto pos = Point(4, 4);
foreach(idx, option; options) { foreach(idx, option; options) {
painter.fillColor = Color.white; painter.fillColor = Color.white;
@ -3992,7 +3994,20 @@ class MainWindow : Window {
class ClientAreaWidget : Widget { class ClientAreaWidget : Widget {
this(Widget parent = null) { this(Widget parent = null) {
super(parent); super(parent);
//sa = new ScrollableWidget(this);
} }
/*
ScrollableWidget sa;
override void addChild(Widget w, int position) {
if(sa is null)
super.addChild(w, position);
else {
sa.addChild(w, position);
sa.setContentSize(this.minWidth + 1, this.minHeight);
import std.stdio; writeln(sa.contentWidth, "x", sa.contentHeight);
}
}
*/
} }
/** /**
@ -4024,7 +4039,10 @@ class ToolBar : Widget {
tabStop = false; tabStop = false;
version(win32_widgets) { version(win32_widgets) {
createWin32Window(this, "ToolbarWindow32"w, "", TBSTYLE_LIST|TBSTYLE_FLAT|TBSTYLE_TOOLTIPS); // so i like how the flat thing looks on windows, but not on wine
// and eh, with windows visual styles enabled it looks cool anyway soooo gonna
// leave it commented
createWin32Window(this, "ToolbarWindow32"w, "", TBSTYLE_LIST|/*TBSTYLE_FLAT|*/TBSTYLE_TOOLTIPS);
SendMessageW(hwnd, TB_SETEXTENDEDSTYLE, 0, 8/*TBSTYLE_EX_MIXEDBUTTONS*/); SendMessageW(hwnd, TB_SETEXTENDEDSTYLE, 0, 8/*TBSTYLE_EX_MIXEDBUTTONS*/);

View File

@ -3491,7 +3491,7 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
wc.lpfnWndProc = &WndProc; wc.lpfnWndProc = &WndProc;
wc.lpszClassName = "arsd_simpledisplay_notification_icon"w.ptr; wc.lpszClassName = "arsd_simpledisplay_notification_icon"w.ptr;
if(!RegisterClassExW(&wc)) if(!RegisterClassExW(&wc))
throw new Exception("RegisterClass ");// ~ to!string(GetLastError())); throw new WindowsApiException("RegisterClass");
registered = true; registered = true;
} }
@ -7877,7 +7877,7 @@ version(Windows) {
wc.hIconSm = null; wc.hIconSm = null;
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
if(!RegisterClassExW(&wc)) if(!RegisterClassExW(&wc))
throw new Exception("RegisterClass " ~ to!string(GetLastError())); throw new WindowsApiException("RegisterClassExW");
knownWinClasses[cnamec] = true; knownWinClasses[cnamec] = true;
} }
@ -7945,10 +7945,10 @@ version(Windows) {
auto pixelformat = ChoosePixelFormat(hdc, &pfd); auto pixelformat = ChoosePixelFormat(hdc, &pfd);
if ((pixelformat = ChoosePixelFormat(hdc, &pfd)) == 0) if ((pixelformat = ChoosePixelFormat(hdc, &pfd)) == 0)
throw new Exception("ChoosePixelFormat"); throw new WindowsApiException("ChoosePixelFormat");
if (SetPixelFormat(hdc, pixelformat, &pfd) == 0) if (SetPixelFormat(hdc, pixelformat, &pfd) == 0)
throw new Exception("SetPixelFormat"); throw new WindowsApiException("SetPixelFormat");
if (sdpyOpenGLContextVersion && wglCreateContextAttribsARB is null) { if (sdpyOpenGLContextVersion && wglCreateContextAttribsARB is null) {
// windoze is idiotic: we have to have OpenGL context to get function addresses // windoze is idiotic: we have to have OpenGL context to get function addresses
@ -7977,7 +7977,7 @@ version(Windows) {
ghRC = wglCreateContext(ghDC); ghRC = wglCreateContext(ghDC);
} }
if (ghRC is null) if (ghRC is null)
throw new Exception("wglCreateContextAttribsARB"); throw new WindowsApiException("wglCreateContextAttribsARB");
} else { } else {
// try to do at least something // try to do at least something
if (sdpyOpenGLContextAllowFallback || sdpyOpenGLContextVersion == 0) { if (sdpyOpenGLContextAllowFallback || sdpyOpenGLContextVersion == 0) {
@ -7985,7 +7985,7 @@ version(Windows) {
ghRC = wglCreateContext(ghDC); ghRC = wglCreateContext(ghDC);
} }
if (ghRC is null) if (ghRC is null)
throw new Exception("wglCreateContext"); throw new WindowsApiException("wglCreateContext");
} }
} }
} }
@ -8066,7 +8066,7 @@ version(Windows) {
rect.right = wind.minWidth + 100; rect.right = wind.minWidth + 100;
rect.bottom = wind.minHeight + 100; rect.bottom = wind.minHeight + 100;
if(!AdjustWindowRect(&rect, GetWindowLong(wind.hwnd, GWL_STYLE), GetMenu(wind.hwnd) !is null)) if(!AdjustWindowRect(&rect, GetWindowLong(wind.hwnd, GWL_STYLE), GetMenu(wind.hwnd) !is null))
throw new Exception("AdjustWindowRect"); throw new WindowsApiException("AdjustWindowRect");
mmi.ptMinTrackSize.x = rect.right - rect.left; mmi.ptMinTrackSize.x = rect.right - rect.left;
mmi.ptMinTrackSize.y = rect.bottom - rect.top; mmi.ptMinTrackSize.y = rect.bottom - rect.top;
@ -8079,7 +8079,7 @@ version(Windows) {
rect.right = wind.maxWidth + 100; rect.right = wind.maxWidth + 100;
rect.bottom = wind.maxHeight + 100; rect.bottom = wind.maxHeight + 100;
if(!AdjustWindowRect(&rect, GetWindowLong(wind.hwnd, GWL_STYLE), GetMenu(wind.hwnd) !is null)) if(!AdjustWindowRect(&rect, GetWindowLong(wind.hwnd, GWL_STYLE), GetMenu(wind.hwnd) !is null))
throw new Exception("AdjustWindowRect"); throw new WindowsApiException("AdjustWindowRect");
mmi.ptMaxTrackSize.x = rect.right - rect.left; mmi.ptMaxTrackSize.x = rect.right - rect.left;
mmi.ptMaxTrackSize.y = rect.bottom - rect.top; mmi.ptMaxTrackSize.y = rect.bottom - rect.top;
@ -8492,7 +8492,7 @@ version(Windows) {
null, null,
0); 0);
if(handle is null) if(handle is null)
throw new Exception("create image failed"); throw new WindowsApiException("create image failed");
} }