diff --git a/src/LPTCManager2026.hx b/src/LPTCManager2026.hx index 361cd64..4c54120 100644 --- a/src/LPTCManager2026.hx +++ b/src/LPTCManager2026.hx @@ -16,7 +16,7 @@ class LPTCManager2026 extends Application { private var services:Services; private var appController:AppController; private var mainPanel:MainPanel; - private var dr:MainDrawer; + private var md:MainDrawer; // private var nav:StackNavigator; @@ -42,8 +42,8 @@ class LPTCManager2026 extends Application { mainPanel = new MainPanel(); addChild(mainPanel); - dr = new MainDrawer(); - addChild(dr); + md = new MainDrawer(); + addChild(md); model.addEventListener(AppModelLocator.DRAWER_STATE_CHANGE, onDrawerStateChange); @@ -63,6 +63,6 @@ class LPTCManager2026 extends Application { } private function onDrawerStateChange(e:Event):Void { - model.drawerIsOpen ? dr.openDrawer() : dr.closeDrawer(); + model.drawerIsOpen ? md.openDrawer() : md.closeDrawer(); } } diff --git a/src/components/RoundAvatar.hx b/src/components/RoundAvatar.hx index cbe6b21..f36ec09 100644 --- a/src/components/RoundAvatar.hx +++ b/src/components/RoundAvatar.hx @@ -1,5 +1,6 @@ package components; +import openfl.display.Bitmap; import openfl.system.ApplicationDomain; import openfl.system.LoaderContext; import openfl.display.LoaderInfo; @@ -55,10 +56,10 @@ class RoundAvatar extends LayoutGroup { mask = m; var l:Loader = new Loader(); - var lc:LoaderContext = new LoaderContext(true, null); + //var lc:LoaderContext = new LoaderContext(true, null); // l.load(new URLRequest("https://ui-avatars.com/api/?background=random&size=64")); //l.load(new URLRequest("https://api.dicebear.com/9.x/pixel-art/png?size=32")); - l.load(new URLRequest("https://lepetittrot.com/lptcm/assets/profile-pictures/pp256/pp_malo.jpeg"), lc); + l.load(new URLRequest("https://lepetittrot.com/lptcm/assets/profile-pictures/pp256/pp_malo.jpeg")); l.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoadComplete); addChild(l); @@ -67,7 +68,9 @@ class RoundAvatar extends LayoutGroup { private function onLoadComplete(e:Event) { var l:Loader = cast(e.currentTarget, LoaderInfo).loader; - l.content.width = l.content.height = avatarSize; + var bmp:Bitmap = e.currentTarget.content; + bmp.smoothing = true; + l.content.width = l.content.height = avatarSize; } } diff --git a/src/view/MainPanel.hx b/src/view/MainPanel.hx index 7eab8bc..70fce7b 100644 --- a/src/view/MainPanel.hx +++ b/src/view/MainPanel.hx @@ -1,15 +1,13 @@ package view; -import feathers.layout.AnchorLayoutData; -import feathers.layout.AnchorLayout; +import feathers.controls.Panel; import feathers.controls.navigators.StackItem; import feathers.controls.navigators.StackNavigator; -import feathers.controls.Button; -import openfl.display.Bitmap; -import feathers.skins.RectangleSkin; import feathers.events.FeathersEvent; +import feathers.layout.AnchorLayout; +import feathers.layout.AnchorLayoutData; +import feathers.skins.RectangleSkin; import model.Constants; -import feathers.controls.Panel; import t9.util.ColorTraces.*; class MainPanel extends Panel { @@ -17,6 +15,7 @@ class MainPanel extends Panel { private var mh:MainHeader; private var mf:MainFooter; private var sn:StackNavigator; + private var rcd:RiderCardDrawer; public function new() { super(); @@ -45,6 +44,9 @@ class MainPanel extends Panel { sn.rootItemID = "ridersScreen"; addChild(sn); + rcd = new RiderCardDrawer(); + addChild(rcd); + } private function onCreationComplete(event:FeathersEvent):Void { diff --git a/src/view/RiderCardDrawer.hx b/src/view/RiderCardDrawer.hx new file mode 100644 index 0000000..d3a4464 --- /dev/null +++ b/src/view/RiderCardDrawer.hx @@ -0,0 +1,50 @@ +package view; + +import feathers.controls.Button; +import feathers.controls.Drawer; +import feathers.controls.LayoutGroup; +import feathers.events.FeathersEvent; +import feathers.events.TriggerEvent; +import feathers.layout.VerticalLayout; +import feathers.skins.RectangleSkin; +import model.Constants; +import t9.util.ColorTraces.*; + +class RiderCardDrawer extends Drawer { + + public static final CLOSE:String = "close"; + public static final OPEN:String = "open"; + + private var closeDrawerButton:Button; + + public function new() { + super(); + addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete); + } + + override private function initialize():Void { + super.initialize(); + + var d1 = new LayoutGroup(); + var vl = new VerticalLayout(); + vl.setPadding(10); + vl.horizontalAlign = LEFT; + vl.verticalAlign = TOP; + d1.layout = vl; + + closeDrawerButton = new Button(); + closeDrawerButton.text = "Close Drawer"; + closeDrawerButton.addEventListener(TriggerEvent.TRIGGER, (event) -> { + opened = false; + }); + d1.addChild(closeDrawerButton); + + overlaySkin = new RectangleSkin(SolidColor( Constants.HERO_COLOR, 1)); + + drawer = d1; + } + + private function onCreationComplete(event:FeathersEvent):Void { + traceBlue(this + " --> onCreationComplete() - w: " + width + " h: " + height ); + } +}