private void mainPictureBox_Paint(object sender, PaintEventArgs e) { Graphics = e.Graphics; if (isFirstFrame) { Init?.Invoke(); isFirstFrame = false; } if (!isPaused) { Draw(); CheckKeyboardInput(); CheckMouseInput(); foreach (Slider s in sliders) { DrawSlider?.Invoke(s); } foreach (Button b in buttons) { DrawButton?.Invoke(b); } } }
//-------------------------------------------------- Unity Standard Functions private void Start() { drawButton = GetComponent<DrawButton>(); switch (PlayerPrefs.GetInt("Controller_Type")) { case 0: UsingButtons = false; break; case 1: case 2: case 3: UsingButtons = true; break; } UIRect = new UIRectangle(drawButton.Position, drawButton.Texture.width * drawButton.Scale, drawButton.Texture.height * drawButton.Scale); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); DrawButton t = (DrawButton)target; }
private void button1_Click(object sender, EventArgs e) { var rect = TestControl.MainRect; rect.BorderSize = 5; rect.AnimeChildAlign = true; topRect = rect.Add(RectAlignment.Top, 20); topRect.AnimeAlign = true; topRect.AddValidatedProperty("Color", Color.Red); topRect.Painters[0].Add(BasePainters.FillRect).Value["Color"] = topRect.Property["Color"]; { var r2 = topRect.Add(RectAlignment.Right, 30); r2.AddValidatedProperty("Color", Color.Indigo); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; controlRect = topRect.Add(RectAlignment.Right, 60); TextBox txt = new TextBox(); TestControl.Controls.Add(txt); controlRect.Control = txt; r2 = topRect.Add(RectAlignment.Left, 30); r2.AddValidatedProperty("Color", Color.Aqua); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; r2 = topRect.Add(RectAlignment.Left, 30); r2.AddValidatedProperty("Color", Color.Green); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; yellowRect = topRect.Add(RectAlignment.Left, 30); yellowRect.AddValidatedProperty("Color", Color.Yellow); yellowRect.Painters[0].Add(BasePainters.FillRect).Value["Color"] = yellowRect.Property["Color"]; r2 = topRect.Add(RectAlignment.Left, 30); r2.AnimeAlign = true; r2.AddValidatedProperty("Color", Color.LightSteelBlue); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; } var r = rect.Add(RectAlignment.Bottom, 20); r.AddValidatedProperty("Color", Color.Green.BrightColor(40)); r.AddValidatedProperty("Color2", Color.Green); var p = r.Painters[0].Add(BasePainters.FillGradient); p.Value["Color"] = r.Property["Color"]; p.Value["Color2"] = r.Property["Color2"]; { var r2 = r.Add(RectAlignment.Left, 40); r2.AddValidatedProperty("Color", Color.Aqua); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; r2 = r.Add(RectAlignment.Left, 40); r2.AddValidatedProperty("Color", Color.Green); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; r2 = r.Add(RectAlignment.Left, 40); r2.AddValidatedProperty("Color", Color.Yellow); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; r2 = r.Add(RectAlignment.Left, 40); r2.AddValidatedProperty("Color", Color.LightSteelBlue); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; r2 = r.Add(RectAlignment.Right, 40); r2.AddValidatedProperty("Color", Color.Indigo); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; } r = rect.Add(RectAlignment.Left, 20); r.AddValidatedProperty("Color", Color.Blue); r.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r.Property["Color"]; r = rect.Add(RectAlignment.Right, 20); r.AddValidatedProperty("Color", Color.Silver); r.AddValidatedProperty("Color2", Color.Gray); r.AddValidatedProperty("Direction", SimpleDirection.Horisontal); p = r.Painters[0].Add(BasePainters.FillGradient); p.Value["Color"] = r.Property["Color"]; p.Value["Color2"] = r.Property["Color2"]; p.Value["Direction"] = r.Property["Direction"]; r = rect.Add(RectAlignment.Right, 20); r.AddValidatedProperty("Color", Color.Maroon); r.AddValidatedProperty("Color2", Color.Maroon.BrightColor(40)); r.AddValidatedProperty("Direction", SimpleDirection.Horisontal); p = r.Painters[0].Add(BasePainters.FillGradient); p.Value["Color"] = r.Property["Color"]; p.Value["Color2"] = r.Property["Color2"]; p.Value["Direction"] = r.Property["Direction"]; backRect = rect.Add(RectAlignment.Fill, 0); backRect.BorderSize = 10; backRect.AddValidatedProperty("Color", Color.Sienna); backRect.AddValidatedProperty("BorderColor", Color.White); backRect.Painters[0].Add(BasePainters.FillRect).Value["Color"] = backRect.Property["Color"]; backRect.Painters[1].Add(BasePainters.Rect).Value["Color"] = backRect.Property["BorderColor"]; { var r2 = backRect.Add(RectAlignment.Fill, 0); r2.AddValidatedProperty("Color", Color.Green.BrightColor(60)); r2.Painters[0].Add(BasePainters.FillRect).Value["Color"] = r2.Property["Color"]; var locationRect = (ControlRect)r2.Add(new Point(70, 100), 80, 80); locationRect.Transparent = true; locationRect.BorderSize = 2; locationRect.AddValidatedProperty("Color", Color.Red.BrightColor(40).Transparent(40)); locationRect.AddValidatedProperty("BorderColor", Color.Brown.DarkColor(20)); locationRect.Painters[0].Add(BasePainters.FillRect).Value["Color"] = locationRect.Property["Color"]; locationRect.Painters[0].Add(BasePainters.Rect).Value["Color"] = locationRect.Property["BorderColor"]; locationRect.AnimeEvent(true).MouseEnter().Change("ContainerRect", new Rectangle(170, 100, 150, 150)); locationRect.AnimeEventQueue().MouseLeave().Wait(Speed.Slow).Change("ContainerRect", new Rectangle(70, 100, 80, 80)); } mouseRect = (ControlRect)rect.Add(new Point(80, 10), 60, 60); mouseRect.Alignment = RectAlignment.Custom; mouseRect.Transparent = true; mouseRect.AddValidatedProperty("Color", Color.Blue.Transparent(50)); mouseRect.Painters[0].Add(BasePainters.FillRect, "r1").Value["Color"] = mouseRect.Property["Color"]; mouseRect.BorderSize = 4; mouseRect.AddValidatedProperty("BorderColor", Color.Navy); mouseRect.Painters[0].Add(BasePainters.Rect, "r2").Value["Color"] = mouseRect.Property["BorderColor"]; mouseRect.AnimeEvent("color").MouseEnter().ChangeDec("Color", Color.Aqua.Transparent(20), Speed.Medium); mouseRect.AnimeEvent("size").MouseEnter().ChangeDec("Rect", new Rectangle(80, 10, 180, 180), Speed.Medium); mouseRect.AnimeEvent("color").MouseLeave().ChangeInc("Color", Color.Blue.Transparent(50), Speed.Medium); mouseRect.AnimeEvent("size").MouseLeave().ChangeDec("Rect", new Rectangle(80, 10, 60, 60), Speed.Medium); mouseRect.Painters["r2"].Value["CornerRadius"] = 2; mouseRect.Painters["r1"].Value["CornerRadius"] = 2; var ctrlRect = rect.Add(new Point(100, 100), 100, 20); var txt2 = new TextBox(); TestControl.Controls.Add(txt2); ctrlRect.Control = txt2; transparentRect = (ControlRect)rect.Add(new Point(40, 40), 80, 80); transparentRect.Alignment = RectAlignment.Custom; transparentRect.Transparent = true; transparentRect.BorderSize = 4; transparentRect.AddValidatedProperty("Color", Color.Green.Transparent(60)); transparentRect.AddValidatedProperty("BorderColor", Color.Green); transparentRect.Painters[0].Add(BasePainters.FillRect, "r1").Value["Color"] = transparentRect.Property["Color"]; transparentRect.Painters[0].Add(BasePainters.Rect, "r2").Value["Color"] = transparentRect.Property["BorderColor"]; transparentRect.Painters["r2"].Value["CornerRadius"] = 5; transparentRect.Painters["r1"].Value["CornerRadius"] = 5; transparentRect.AnimeEvent("color").MouseEnter().Change("Color", Color.Blue.Transparent(80), Speed.Medium); transparentRect.AnimeEvent("color").MouseLeave().Change("Color", Color.Green.Transparent(60), Speed.Medium); transparentRect.AnimeEvent("size").MouseEnter().ChangeDec("Rect", new Rectangle(40, 40, 160, 160), Speed.Medium); transparentRect.AnimeEvent("size").MouseLeave().ChangeDec("Rect", new Rectangle(40, 40, 80, 80), Speed.Medium); // transparentRect.MouseEnter += (s, arg) => { s.SetProperty("Size", new Size(160, 160)); }; // transparentRect.MouseLeave += (s, arg) => { s.SetProperty("Size", new Size(80, 80)); }; rect.Align(); //********** tabDrawControl ************************* tabDrawControl.TabStop = true; rect = tabDrawControl.MainRect; var cr = new ControlRect(new Point(40, 40), 100, 20); rect.Add(cr); cr.AddValidatedProperty("Color", Color.Red.BrightColor(40)); cr.AddValidatedProperty("BorderColor", Color.Maroon); cr.Painters[0].Add(BasePainters.FillRect).Value["Color"] = cr.Property["Color"]; cr.Painters[0].Add(BasePainters.Rect).Value["Color"] = cr.Property["BorderColor"]; cr.TabIndex = 0; cr.TabStop = true; cr.BorderSize = 2; cr.Enter += (s, arg) => { s.SetProperty("Color", Color.Red.BrightColor(80)); }; cr.Leave += (s, arg) => { s.SetProperty("Color", Color.Red.BrightColor(40)); }; cr = new ControlRect(new Point(40, 80), 100, 20); cr.Alignment = RectAlignment.Center; rect.Add(cr); cr.AddValidatedProperty("Color", Color.Green.BrightColor(40)); cr.AddValidatedProperty("BorderColor", Color.Green); cr.Painters[0].Add(BasePainters.FillRect).Value["Color"] = cr.Property["Color"]; cr.Painters[0].Add(BasePainters.Rect).Value["Color"] = cr.Property["BorderColor"]; cr.TabIndex = 1; cr.TabStop = true; cr.BorderSize = 2; cr.Enter += (s, arg) => { s.SetProperty("Color", Color.Green.BrightColor(80)); }; cr.Leave += (s, arg) => { s.SetProperty("Color", Color.Green.BrightColor(40)); }; cr = new ControlRect(new Point(40, 120), 100, 20); rect.Add(cr); cr.AddValidatedProperty("Color", Color.Blue.BrightColor(40)); cr.AddValidatedProperty("BorderColor", Color.Navy); cr.Painters[0].Add(BasePainters.FillRect).Value["Color"] = cr.Property["Color"]; cr.Painters[0].Add(BasePainters.Rect).Value["Color"] = cr.Property["BorderColor"]; cr.TabIndex = 2; cr.TabStop = true; cr.BorderSize = 2; cr.Enter += (s, arg) => { s.SetProperty("Color", Color.Blue.BrightColor(80)); }; cr.Leave += (s, arg) => { s.SetProperty("Color", Color.Blue.BrightColor(40)); }; var bt = new DrawButton(); drowBt = bt; bt.Pos = new Point(40, 160); bt.Size = new Size(100, 23); bt.TabIndex = 3; //bt.Color = Color.Aqua; bt.MouseOverColor = Color.Blue.BrightColor(70); bt.UseMouseOverColor = true; bt.BorderSize = 2; bt.CornerRadius = 2; bt.Gradient = true; bt.Transparent = true; bt.DrawFocus = true; bt.Switch = false; bt.Flat = false; bt.Text = "Test"; bt.TextColor = Color.Navy; rect.Add(bt); var scroll = new DrawScroll(); scroll.Size = new Size(14, 14); scroll.Alignment = RectAlignment.Right; scroll.Align = Orientation.Vertical; scroll.Color = Color.Blue.BrightColor(75); scroll.MaxPosition = 100; scroll.Property["Position"].AnyChanged += () => { bt.Text = scroll.Position + " %"; }; scroll.ScrollButtonAutoSize = true; //scroll.BorderSize = 1; rect.Add(scroll); var crTxt = new TextBox(); tabDrawControl.Controls.Add(crTxt); cr.Control = crTxt; crTxt.KeyDown += (s, arg) => { if (arg.KeyCode == Keys.Enter) { scroll.Position = int.Parse(crTxt.Text); } }; //--------- Scrollable Scrollable sRect = new Scrollable(); sRect.Alignment = RectAlignment.Fill; ScrollableContainer.MainRect.Add(sRect); sRect.ScrollHeight = 400; sRect.ScrollWidth = 400; sRect.Transparent = true; sRect.VirtualScroll = false; sRect.Container.Add(CreateSimple(new Point(50, 50), 80, 23, Color.Lime)); sRect.Container.Add(CreateSimple(new Point(100, 100), 80, 23, Color.Aqua)); sRect.Container.Add(CreateSimple(new Point(250, 250), 80, 23, Color.Yellow)); sRect.Container.Add(CreateSimple(new Point(300, 300), 80, 23, Color.Blue.BrightColor(30))); var top = CreateSimple(new Point(0, 0), 20, 20, Color.Orange); top.Alignment = RectAlignment.Top; sRect.Container.Add(top); var bottom = CreateSimple(new Point(0, 0), 20, 20, Color.Green); bottom.Alignment = RectAlignment.Bottom; sRect.Container.Add(bottom); var right = CreateSimple(new Point(0, 0), 20, 20, Color.Blue); right.Alignment = RectAlignment.Right; sRect.Container.Add(right); var left = CreateSimple(new Point(0, 0), 20, 20, Color.Silver); left.Alignment = RectAlignment.Left; sRect.Container.Add(left); }
public KaKaoForm() { // // for debug // //============================== tbx_password = new TextBox(); // init start this.FormBorderStyle = FormBorderStyle.None; SuspendLayout(); this.Size = new Size(300, 500); this.StartPosition = FormStartPosition.CenterScreen; this.Opacity = 1; this.Name = "kakao"; this.Text = null; // 테두리, 크기 조정가능한지, 캡션표시줄 이 있는지 등등.. this.FormBorderStyle = FormBorderStyle.None; this.BackColor = Color.SteelBlue; Point formsize = new Point(this.Size); // 로그인창에 필요한 그림 그리기 logo = Image.FromFile("resource\\img_login_img.png"); // textbox for login tbx_password.Text = "비밀번호"; tbx_password.Location = new Point(75, 377); tbx_password.Size = new Size(150, 50); tbx_password.ForeColor = Color.Gray; tbx_password.Font = new Font("Arial", 12, FontStyle.Regular); tbx_password.TabIndex = 1; tbx_password.GotFocus += new EventHandler(this.tbxPassGotFocus); tbx_password.LostFocus += new EventHandler(this.tbxPassLostFocus); tbx_password.KeyDown += new KeyEventHandler(this.tbxGetDown); tbx_password.MaxLength = 12; tbx_ID = new TextBox(); tbx_ID.Text = "아이디"; tbx_ID.Location = new Point(75, 350); tbx_ID.Size = new Size(150, 50); tbx_ID.ForeColor = Color.Gray; tbx_ID.Font = new Font("Arial", 12, FontStyle.Regular); tbx_ID.GotFocus += new EventHandler(this.tbxIDGotFocus); tbx_ID.LostFocus += new EventHandler(this.tbxIDLostFocus); tbx_ID.TabIndex = 0; // btn for login Size szBtnlg = new Size(150, 30); btn_login = new DrawButton(linearCenter(this.Size.Width, this.Size.Height, 0.5f, 0.85f, szBtnlg), szBtnlg); btn_login.Text = "로그인"; btn_login.MouseClick += new MouseEventHandler(btnLoginClicked); //btn for join btn_join = new DrawButton(linearCenter(this.Size.Width, this.Size.Height, 0.5f, 0.92f, szBtnlg), szBtnlg); btn_join.Text = "회원가입"; btn_join.MouseClick += new MouseEventHandler(btnJoinClicked); // hit caption msg // end of init this.ResumeLayout(false); //add cotroll this.Controls.Add(tbx_password); this.Controls.Add(tbx_ID); this.Controls.Add(btn_login); this.Controls.Add(btn_join); }
public override void LoadContent() { selectedLayer = "_layer1"; components = new List <UIElement>(); Texture2D navbarBG = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, GlobalParameters.screenWidth, 32, pixel => new Color(35, 35, 35), Shapes.RECTANGLE); Container navbar = new Container(navbarBG, new Vector2(0, 0), new Vector2(GlobalParameters.screenWidth, 32)); // Create Navbar child components Texture2D menuButtonTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 100, 32, pixel => new Color(35, 35, 35), Shapes.RECTANGLE); RedirectButton menuButton = new RedirectButton("Menu Scene", menuButtonTexture, new Vector2(0, 0), new Vector2(100, 32), "MENU", Color.White); Texture2D helpButtonTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(100, 100, 200), Shapes.RECTANGLE); Overlay helpOverlay = new Overlay("Static\\SettingsScene/button_export", new Vector2(500, 500), new Vector2(32, 32)); PopupButton helpButton = new PopupButton(helpOverlay, "Static\\DrawingScene/help", new Vector2(menuButton.position.X + menuButton.dimensions.X, 0), new Vector2(32, 32)); //Texture2D settingsButtonTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(255, 255, 0), Shapes.RECTANGLE); Overlay settingsOverlay = new Overlay("Static\\SettingsScene/button_export", new Vector2(600, 500), new Vector2(32, 32)); PopupButton settingsButton = new PopupButton(settingsOverlay, "Static\\DrawingScene/gear", new Vector2(helpButton.position.X + helpButton.dimensions.X, 0), new Vector2(32, 32)); Texture2D colorButtonTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(200, 0, 255), Shapes.CIRCLE); Overlay colorOverlay = new Overlay(colorButtonTexture, new Vector2(1100, 500), new Vector2(32, 32)); PopupButton colorButton = new PopupButton(colorOverlay, colorButtonTexture, new Vector2(GlobalParameters.screenWidth - colorButtonTexture.Width, 0), new Vector2(32, 32)); Texture2D layerButtonTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(0, 0, 255), Shapes.RECTANGLE); Overlay layerOverlay = new Overlay(layerButtonTexture, new Vector2(732, 500), new Vector2(32, 32)); PopupButton layerButton = new PopupButton(layerOverlay, "Static\\DrawingScene/layers", new Vector2(colorButton.position.X - colorButton.dimensions.X, 0), new Vector2(32, 32)); List <RadioButton> buttons = new List <RadioButton>(); Texture2D eraserSelectedTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(255, 0, 0), Shapes.RECTANGLE); Texture2D eraserUnselectedTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 32, 32, pixel => new Color(0, 255, 0), Shapes.RECTANGLE); EraserButton eraser = new EraserButton("Static\\DrawingScene/eraser_selected", "Static\\DrawingScene/eraser", false, new Vector2(layerButton.position.X - layerButton.dimensions.X, 0), new Vector2(32, 32)); DrawButton draw = new DrawButton("Static\\DrawingScene/brush_selected", "Static\\DrawingScene/brush", true, new Vector2(eraser.position.X - eraser.dimensions.X, 0), new Vector2(32, 32)); buttons.Add(draw); buttons.Add(eraser); ButtonGroup toolButtons = new ButtonGroup(buttons); // TODO ADD Clickable Buttons // +1 Frame, Last Frame, -1 Frame, First Frame, Play Texture2D frameCounterTexture = DrawingService.CreateTexture(GlobalParameters.GlobalGraphics, 132, 32, pixel => new Color(0, 0, 0), Shapes.RECTANGLE); UIElement frameCounter = new FrameCounterComponent(frameCounterTexture, new Vector2(settingsButton.position.X + settingsButton.dimensions.X, 0), new Vector2(frameCounterTexture.Width, frameCounterTexture.Height)); navbar.uiElements.Add(menuButton); navbar.uiElements.Add(helpButton); navbar.uiElements.Add(settingsButton); navbar.uiElements.Add(colorButton); navbar.uiElements.Add(layerButton); navbar.uiElements.Add(frameCounter); navbar.buttonGroups.Add(toolButtons); // Add the navbar to this scene components.Add(navbar); // Load Frame frames = new List <Frame>(); frameSize = new Vector2(200, 200); framePosition = new Vector2(GlobalParameters.screenWidth / 2 - (int)frameSize.X / 2, GlobalParameters.screenHeight / 2 - (int)frameSize.Y / 2 + menuButton.dimensions.Y / 2); frames.Add(new Frame(framePosition, frameSize)); }
private void SParamListBox_SelectedIndexChanged(object sender, EventArgs e) { try { AllCurvesToggleVisible(false); } catch (NullReferenceException) { if (DrawButton.Enabled) { DrawButton.PerformClick(); } else { MessageBox.Show( "Необходимо ввести все значения и затем нажать кнопку draw", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); this.Activate(); } } for (int i = 0; i < SParamListBox.Items.Count; i++) { if (SParamListBox.CheckedIndices.Contains(i)) { switch (i) { case 0: _11Curve.IsVisible = true; _11Curve.Label.IsVisible = true; break; case 1: _12Curve.IsVisible = true; _12Curve.Label.IsVisible = true; break; case 2: _13Curve.IsVisible = true; _13Curve.Label.IsVisible = true; break; case 3: _14Curve.IsVisible = true; _14Curve.Label.IsVisible = true; break; case 4: _22Curve.IsVisible = true; _22CurveMarker.IsVisible = true; _22CurveLabel.Label.IsVisible = true; break; case 5: _23Curve.IsVisible = true; _23CurveMarker.IsVisible = true; _23CurveLabel.Label.IsVisible = true; break; case 6: _24Curve.IsVisible = true; _24CurveMarker.IsVisible = true; _24CurveLabel.Label.IsVisible = true; break; case 7: _33Curve.IsVisible = true; _33CurveMarker.IsVisible = true; _33CurveLabel.Label.IsVisible = true; break; case 8: _34Curve.IsVisible = true; _34CurveMarker.IsVisible = true; _34CurveLabel.Label.IsVisible = true; break; case 9: _44Curve.IsVisible = true; _44CurveMarker.IsVisible = true; _44CurveLabel.Label.IsVisible = true; break; } } } GraphControl.AxisChange(); GraphControl.Invalidate(); }