Added : RiderCardDrawer

This commit is contained in:
2025-12-05 21:39:00 +01:00
parent d002ac9251
commit 465d795b19
4 changed files with 68 additions and 13 deletions
+4 -4
View File
@@ -16,7 +16,7 @@ class LPTCManager2026 extends Application {
private var services:Services; private var services:Services;
private var appController:AppController; private var appController:AppController;
private var mainPanel:MainPanel; private var mainPanel:MainPanel;
private var dr:MainDrawer; private var md:MainDrawer;
// private var nav:StackNavigator; // private var nav:StackNavigator;
@@ -42,8 +42,8 @@ class LPTCManager2026 extends Application {
mainPanel = new MainPanel(); mainPanel = new MainPanel();
addChild(mainPanel); addChild(mainPanel);
dr = new MainDrawer(); md = new MainDrawer();
addChild(dr); addChild(md);
model.addEventListener(AppModelLocator.DRAWER_STATE_CHANGE, onDrawerStateChange); model.addEventListener(AppModelLocator.DRAWER_STATE_CHANGE, onDrawerStateChange);
@@ -63,6 +63,6 @@ class LPTCManager2026 extends Application {
} }
private function onDrawerStateChange(e:Event):Void { private function onDrawerStateChange(e:Event):Void {
model.drawerIsOpen ? dr.openDrawer() : dr.closeDrawer(); model.drawerIsOpen ? md.openDrawer() : md.closeDrawer();
} }
} }
+6 -3
View File
@@ -1,5 +1,6 @@
package components; package components;
import openfl.display.Bitmap;
import openfl.system.ApplicationDomain; import openfl.system.ApplicationDomain;
import openfl.system.LoaderContext; import openfl.system.LoaderContext;
import openfl.display.LoaderInfo; import openfl.display.LoaderInfo;
@@ -55,10 +56,10 @@ class RoundAvatar extends LayoutGroup {
mask = m; mask = m;
var l:Loader = new Loader(); 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://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://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); l.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoadComplete);
addChild(l); addChild(l);
@@ -67,7 +68,9 @@ class RoundAvatar extends LayoutGroup {
private function onLoadComplete(e:Event) { private function onLoadComplete(e:Event) {
var l:Loader = cast(e.currentTarget, LoaderInfo).loader; 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;
} }
} }
+8 -6
View File
@@ -1,15 +1,13 @@
package view; package view;
import feathers.layout.AnchorLayoutData; import feathers.controls.Panel;
import feathers.layout.AnchorLayout;
import feathers.controls.navigators.StackItem; import feathers.controls.navigators.StackItem;
import feathers.controls.navigators.StackNavigator; import feathers.controls.navigators.StackNavigator;
import feathers.controls.Button;
import openfl.display.Bitmap;
import feathers.skins.RectangleSkin;
import feathers.events.FeathersEvent; import feathers.events.FeathersEvent;
import feathers.layout.AnchorLayout;
import feathers.layout.AnchorLayoutData;
import feathers.skins.RectangleSkin;
import model.Constants; import model.Constants;
import feathers.controls.Panel;
import t9.util.ColorTraces.*; import t9.util.ColorTraces.*;
class MainPanel extends Panel { class MainPanel extends Panel {
@@ -17,6 +15,7 @@ class MainPanel extends Panel {
private var mh:MainHeader; private var mh:MainHeader;
private var mf:MainFooter; private var mf:MainFooter;
private var sn:StackNavigator; private var sn:StackNavigator;
private var rcd:RiderCardDrawer;
public function new() { public function new() {
super(); super();
@@ -45,6 +44,9 @@ class MainPanel extends Panel {
sn.rootItemID = "ridersScreen"; sn.rootItemID = "ridersScreen";
addChild(sn); addChild(sn);
rcd = new RiderCardDrawer();
addChild(rcd);
} }
private function onCreationComplete(event:FeathersEvent):Void { private function onCreationComplete(event:FeathersEvent):Void {
+50
View File
@@ -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 );
}
}