11package redxax .oxy .remotely .ui ;
22
3+ import net .minecraft .client .MinecraftClient ;
34import net .minecraft .client .gui .DrawContext ;
45import net .minecraft .client .gui .screen .Screen ;
56import net .minecraft .text .Text ;
67import redxax .oxy .remotely .ui .widgets .*;
8+ import redxax .oxy .remotely .util .Notification ;
79
810import java .util .List ;
911
1012
1113public class TestingScreen extends Screen {
14+
15+ ContextMenuWidget contextMenu ;
1216 public TestingScreen () {
1317 super (Text .of ("Testing Screen" ));
1418 }
@@ -21,15 +25,43 @@ public void init() {
2125 addDrawableChild (new SquareButtonWidget .Builder ().pos (50 , 40 ).size (18 , 18 ).imagePath ("/assets/remotely/icons/external.png" ).build ());
2226 addDrawableChild (new SquareButtonWidget .Builder ().pos (70 , 40 ).size (18 , 18 ).imagePath ("/assets/remotely/icons/terminal.png" ).build ());
2327 addDrawableChild (new SquareButtonWidget .Builder ().pos (90 , 40 ).size (18 , 18 ).imagePath ("/assets/remotely/icons/audio.png" ).build ());
24- addDrawableChild (new ToggleWidget .Builder ().pos (10 , 70 ).size (100 , 20 ).build ());
28+ addDrawableChild (new ToggleWidget .Builder ().pos (10 , 70 ).size (40 , 20 ).build ());
29+ addDrawableChild (new ToggleWidget .Builder ().pos (60 , 70 ).size (50 , 20 ).toggled (true ).build ());
2530 addDrawableChild (new ScrollSelectorWidget .Builder ().pos (10 , 100 ).size (100 , 20 ).options (List .of ("Hello" , "World!" , "I'm," , "RemotelyOS!" )).build ());
2631 addDrawableChild (new TabSwitchWidget .Builder ().pos (10 , 130 ).size (100 , 20 ).label ("Tabs" ).options (List .of ("ReOS" , "1.0.0" , "Alpha" )).build ());
2732 addDrawableChild (new TextInputWidget .Builder ().pos (10 , 160 ).size (100 , 20 ).placeholder ("Type here..." ).text ("90% Bug Free!" ).build ());
2833 addDrawableChild (new DoubleSliderWidget .Builder ().pos (10 , 190 ).size (100 , 20 ).label ("Volume" ).value (50 ).build ());
34+ addDrawableChild (new IconButton .Builder ().pos (10 , 220 ).size (100 , 20 ).imagePath ("/assets/remotely/icons/zip.png" ).label (Text .literal ("Iconic Button" )).centered (true ).build ());
35+ addDrawableChild (new AnimatedButton .ButtonBuilder ().pos (300 , 10 ).size (120 , 20 ).label (Text .literal ("No Color Animation" )).animateColor (false ).build ());
36+ addDrawableChild (new AnimatedButton .ButtonBuilder ().pos (300 , 40 ).size (120 , 20 ).label (Text .literal ("No Elevation Animation" )).animateElevation (false ).build ());
37+ addDrawableChild (new AnimatedButton .ButtonBuilder ().pos (300 , 70 ).size (120 , 20 ).label (Text .literal ("Flat Button" )).flat (true ).build ());
38+ addDrawableChild (new AnimatedButton .ButtonBuilder ().pos (300 , 100 ).size (120 , 20 ).label (Text .literal ("No Open Animation" )).entranceAnimation (false ).build ());
39+ contextMenu = new ContextMenuWidget .Builder (this )
40+ .addItem ("Menu Context" , null , "Hell Yea" )
41+ .addIconItem ("Berger" , "/assets/remotely/icons/download.png" , () -> new Notification ("SAY BURGER OR DIE" , "I'M NOT JOKING" , Notification .Type .ERROR ), "" )
42+ .addItem ("Me Sad" , null , "" )
43+ .addItem ("143" , null , "" )
44+ .addItem ("I Have No Idea" , null , "" )
45+ .addHeaderButton ("/assets/remotely/icons/save.png" , null , "" )
46+ .addHeaderButton ("/assets/remotely/icons/fullscreen.png" , null , "" )
47+ .addHeaderButton ("/assets/remotely/icons/start.png" , null , "" )
48+ .addHeaderButton ("/assets/remotely/icons/newchat.png" , null , "" )
49+ .addHeaderButton ("/assets/remotely/icons/close.png" , () -> MinecraftClient .getInstance ().setScreen (null ), "Close Menu" )
50+ .build ();
51+ addDrawableChild (contextMenu );
2952 }
3053
3154 @ Override
3255 public void render (DrawContext context , int mouseX , int mouseY , float delta ) {
3356 super .render (context , mouseX , mouseY , delta );
3457 }
58+
59+ @ Override
60+ public boolean mouseClicked (double mouseX , double mouseY , int button ) {
61+ if (button == 1 ) {
62+ contextMenu .show ((int )mouseX , (int ) mouseY );
63+ return true ;
64+ }
65+ return super .mouseClicked (mouseX , mouseY , button );
66+ }
3567}
0 commit comments