+ PaneSplitter split
+ {
+ this;
+ //leftPane = list;
+ rightPane = show;
+ //split = 200;
+ scaleSplit = 0.5f;
+ tabCycle = true;
+ visible = false;
+ };
+
+ Window show
+ {
+ this;
+ visible = false;
+ borderStyle = none;
+ anchor = Anchor { top = 0, right = 0, bottom = 0 };
+
+ void OnRedraw(Surface surface)
+ {
+ FileSystemBox fsb = (FileSystemBox)parent;
+ if(fsb.bitmap)
+ {
+ int wBmp = fsb.bitmap.width;
+ int hBmp = fsb.bitmap.height;
+ int wWnd = fsb.show.clientSize.w;
+ int hWnd = fsb.show.clientSize.h;
+
+ int wList = 0;//fsb.list.size.w + fsb.split.size.w;
+
+ float scale = Min((float)(wWnd - 10) / wBmp, (float)(hWnd - 10) / hBmp);
+
+ int wDraw = (int)(wBmp * scale);
+ int hDraw = (int)(hBmp * scale);
+
+ #ifndef __linux__
+ surface.Filter(fsb.bitmap, (wWnd - wDraw) / 2, (hWnd - hDraw) / 2, 0, 0, wDraw, hDraw, wBmp, hBmp);
+ #else
+ // Until Filter / Stretch works with X
+ surface.Blit(fsb.bitmap, (wWnd - wBmp) / 2, (hWnd - hBmp) / 2, 0, 0, wBmp, hBmp);
+ #endif
+ }
+ else
+ {
+ surface.SetForeground(white);
+ surface.Area(0, 0, fsb.clientSize.w - 1, fsb.clientSize.h - 1);
+ }
+ }
+ }
+
+ bool MenuOpen(MenuItem selection, Modifiers mods)
+ {
+ OpenNode();
+ }
+