private static void Create() { OnGuiContextCreating(EventArgs.Empty); //Create the global GwenRenderer and Canvas _renderer = new Gwen.Renderer.SFML(WindowContext.Window); WindowContext.Window.KeyPressed += KeyPressed; WindowContext.Window.KeyReleased += KeyReleased; WindowContext.Window.MouseButtonPressed += MouseButtonPressed; WindowContext.Window.MouseButtonReleased += MouseButtonReleased; WindowContext.Window.MouseWheelMoved += MouseWheelMoved; WindowContext.Window.MouseMoved += MouseMoved; WindowContext.Window.TextEntered += TextEntered; Gwen.Font font = new Gwen.Font(_renderer, _gameConfiguration.SkinFont, 12); _renderer.LoadFont(font); _skin = new Gwen.Skin.TexturedBase(_renderer, _gameConfiguration.Skin); _skin.SetDefaultFont(font.FaceName); font.Dispose(); Canvas canvas = new Canvas(_skin); canvas.SetBounds(0, 0, _virtualResolution.Width, _virtualResolution.Height); canvas.ShouldDrawBackground = false; canvas.KeyboardInputEnabled = true; Canvas = canvas; _input = new Gwen.Input.SFML(); _input.Initialize(canvas, WindowContext.Window); OnGuiContextCreated(EventArgs.Empty); }
static MainCanvas() { GraphicsManager.keyboard.KeyDown += Keyboard_KeyDown; GraphicsManager.keyboard.KeyUp += Keyboard_KeyUp; GraphicsManager.mouse.ButtonDown += Mouse_ButtonDown; GraphicsManager.mouse.ButtonUp += Mouse_ButtonUp; GraphicsManager.mouse.Move += Mouse_Move; GraphicsManager.mouse.WheelChanged += Mouse_Wheel; Camera.OnRender += new GraphicsManager.Renderer(OnRenderFrame); Camera.Layer = 10; GraphicsManager.Update += new GraphicsManager.Updater(OnUpdateFrame); GraphicsManager.OnWindowResize += new GraphicsManager.Resizer(OnWindowResize); GraphicsManager.OnDispose += new GraphicsManager.Disposer(Dispose); Renderer = new Gwen.Renderer.OpenTK(); Skin = new Gwen.Skin.TexturedBase(Renderer, @"Data\DefaultSkin.png"); //skin = new Gwen.Skin.Simple(renderer); //skin.DefaultFont = new Gwen.Font(renderer, "Courier", 10); canvas = new Canvas(Skin); input = new Gwen.Input.OpenTK(GraphicsManager.Instance); input.Initialize(canvas); canvas.SetSize(GraphicsManager.WindowWidth, GraphicsManager.WindowHeight); canvas.ShouldDrawBackground = false; canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170); //canvas.KeyboardInputEnabled = true; }
static MainCanvas() { Camera = new Camera2D(); GraphicsManager.keyboard.KeyDown += Keyboard_KeyDown; GraphicsManager.keyboard.KeyUp += Keyboard_KeyUp; GraphicsManager.mouse.ButtonDown += Mouse_ButtonDown; GraphicsManager.mouse.ButtonUp += Mouse_ButtonUp; GraphicsManager.mouse.Move += Mouse_Move; GraphicsManager.mouse.WheelChanged += Mouse_Wheel; Camera.OnRender += OnRenderFrame; Camera.Layer = 10; GraphicsManager.Update += OnUpdateFrame; GraphicsManager.OnWindowResize += new GraphicsManager.Resizer(OnWindowResize); GraphicsManager.OnDispose += new GraphicsManager.Disposer(Dispose); Renderer = new Gwen.Renderer.OpenTK(); Skin = new Gwen.Skin.TexturedBase(Renderer, @"Data\DefaultSkin.png"); canvas = new Canvas(Skin); input = new Gwen.Input.OpenTK(GraphicsManager.Instance); input.Initialize(canvas); canvas.SetSize(GraphicsManager.WindowWidth, GraphicsManager.WindowHeight); canvas.ShouldDrawBackground = false; canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170); }
protected override void OnLoad(EventArgs e) { Shaders.Load(); MSAABuffer = new MsaaFbo(); var renderer = new Gwen.Renderer.OpenTK(); var skinpng = new Texture(renderer); Gwen.Renderer.OpenTK.LoadTextureInternal( skinpng, GameResources.DefaultSkin); var fontpng = new Texture(renderer); Gwen.Renderer.OpenTK.LoadTextureInternal( fontpng, GameResources.gamefont_15_png); var gamefont_15 = new Gwen.Renderer.BitmapFont( renderer, GameResources.gamefont_15_fnt, fontpng); var skin = new Gwen.Skin.TexturedBase(renderer, skinpng, GameResources.DefaultColors ) { DefaultFont = gamefont_15 }; Canvas = new GameCanvas(skin, this, renderer); _input = new Gwen.Input.OpenTK(this); _input.Initialize(Canvas); Canvas.ShouldDrawBackground = false; InitControls(); Models.LoadModels(); AddCursor("pencil", GameResources.cursor_pencil, 6, 25); AddCursor("line", GameResources.cursor_line, 11, 11); AddCursor("eraser", GameResources.cursor_eraser, 8, 8); AddCursor("hand", GameResources.cursor_move, 16, 16); AddCursor("closed_hand", GameResources.cursor_dragging, 16, 16); AddCursor("adjustline", GameResources.cursor_select, 4, 4); AddCursor("size_nesw", GameResources.cursor_size_nesw, 16, 16); AddCursor("size_nwse", GameResources.cursor_size_nwse, 16, 16); AddCursor("size_hor", GameResources.cursor_size_horz, 16, 16); AddCursor("size_ver", GameResources.cursor_size_vert, 16, 16); AddCursor("size_all", GameResources.cursor_size_all, 16, 16); AddCursor("default", GameResources.cursor_default, 7, 4); AddCursor("zoom", GameResources.cursor_zoom_in, 11, 10); Gwen.Platform.Neutral.CursorSetter = new UI.CursorImpl(this); Program.UpdateCheck(); Track.AutoLoadPrevious(); }
public HUD(RenderWindow window, bool developerConsole) { window.KeyReleased += window_KeyReleased; window.MouseButtonPressed += window_MouseButtonPressed; window.MouseButtonReleased += window_MouseButtonReleased; window.MouseWheelMoved += window_MouseWheelMoved; window.MouseMoved += window_MouseMoved; window.TextEntered += window_TextEntered; gwenRenderer = new Gwen.Renderer.SFML(window); Gwen.Skin.TexturedBase skin = new Gwen.Skin.TexturedBase(gwenRenderer, "./assets/DefaultSkin.png"); defaultFont = new Gwen.Font(gwenRenderer) { Size = 10, FaceName = "./assets/OpenSanss.ttf" }; if (gwenRenderer.LoadFont(defaultFont)) { gwenRenderer.FreeFont(defaultFont); } else // try another { defaultFont.FaceName = "Arial"; if (gwenRenderer.LoadFont(defaultFont)) { gwenRenderer.FreeFont(defaultFont); } else // try default { defaultFont.FaceName = "./assets/OpenSans.ttf"; } } skin.SetDefaultFont(defaultFont.FaceName); defaultFont.Dispose(); // skin has its own _canvas = new Gwen.Control.Canvas(skin); _canvas.SetSize((int)window.Size.X, (int)window.Size.Y); _canvas.ShouldDrawBackground = false; _canvas.KeyboardInputEnabled = true; _input = new Gwen.Input.SFML(); _input.Initialize(_canvas, window); tabControl = new Gwen.Control.TabControl(_canvas); int tabcontrolheight = 150; tabControl.SetBounds(0, window.Size.Y - tabcontrolheight, window.Size.X, tabcontrolheight); //Fixes the cursor flickering //TODO: Is this cross platform? System.Windows.Forms.Cursor.Hide(); Inventory.Init(); if (developerConsole) { HUD.Console.Init(); } }
public override bool Init(RendererContext rc) { if (!IsInitialized) { Renderer = new Gwen.Renderer.FreezingArcherGwenRenderer(rc); Skin = new Gwen.Skin.TexturedBase(Renderer, "lib/UI/Skins/NoWayOutSkin.png"); Canvas = new Gwen.Control.Canvas(Skin); PrivateRendererContext = rc; IsInitialized = true; } return true; }
protected override void OnKeyDown(OpenTK.Input.KeyboardKeyEventArgs e) { base.OnKeyDown(e); try { input.ProcessKeyDown(e); } catch (Exception ex) { //sdl eats exceptions Console.WriteLine(ex.ToString()); throw ex; } if (e.Key == OpenTK.Input.Key.F5) { skinpng.Dispose(); skinpng = new Texture(Canvas.Skin.Renderer); var skinimg = new Bitmap(Image.FromFile("DefaultSkin.png")); var colorxml = System.IO.File.ReadAllText("DefaultColors.xml"); Gwen.Renderer.OpenTK.LoadTextureInternal( skinpng, skinimg); var skin = new Gwen.Skin.TexturedBase(Canvas.Skin.Renderer, skinpng, colorxml) { DefaultFont = Canvas.Skin.DefaultFont }; // Canvas.Skin = skin; Canvas.SetSkin(skin, true); skinimg.Dispose(); } if (e.Key == OpenTK.Input.Key.F12) { _slow = !_slow; } if (e.Key == OpenTK.Input.Key.F11) { _steps = true; } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); input = new Gwen.Input.OpenTK(this); var renderer = new Gwen.Renderer.OpenTK(); var skinimg = new Bitmap(Image.FromFile("DefaultSkin.png")); // var font = new Bitmap(Image.FromFile("liberation_20_0.png")); // var fontdata = System.IO.File.ReadAllText("liberation_20.fnt"); var font = new Bitmap(Image.FromFile("gamefont_15_0.png")); var fontdata = System.IO.File.ReadAllText("gamefont_15.fnt"); var colorxml = System.IO.File.ReadAllText("DefaultColors.xml"); skinpng = renderer.CreateTexture(skinimg); var fontpng = renderer.CreateTexture(font); var gamefont_15 = new Gwen.Renderer.BitmapFont( renderer, fontdata, fontpng); var skin = new Gwen.Skin.TexturedBase(renderer, skinpng, colorxml) { DefaultFont = gamefont_15 }; // var skin = new Gwen.Skin.Simple(renderer) { DefaultFont = gamefont_15 }; Canvas = new Canvas(skin); // Canvas.Scale = 2; Canvas.SetCanvasSize(ClientSize.Width, ClientSize.Height); input.Initialize(Canvas); TestContainer container = new TestContainer(Canvas); font.Dispose(); skinimg.Dispose(); ControlBase.LogLayout = true; }
public override bool Init(FreezingArcher.Core.Application app) { base.Init(app); SimpleMaterial = new SimpleMaterial(); SimpleMaterial.Init(this); GwenRenderer = new Gwen.Renderer.FreezingArcherGwenRenderer(this); Skin = new Gwen.Skin.TexturedBase(GwenRenderer, "lib/UI/Skins/NoWayOutSkin.png"); Canvas = new Gwen.Control.Canvas(Skin); _PrivateCanvas = Canvas; return true; }
private void setupUi() { renderer = new Gwen.Renderer.OpenTK(); Gwen.Skin.Base skin = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin.png"); canvas = new Canvas(skin); canvas.SetSize(Width, Height); gwenInput = new Gwen.Input.OpenTK(this); gwenInput.Initialize(canvas); Mouse.ButtonDown += Mouse_ButtonDown; Mouse.ButtonUp += Mouse_ButtonUp; Mouse.Move += Mouse_Move; Mouse.WheelChanged += Mouse_Wheel; canvas.ShouldDrawBackground = true; canvas.BackgroundColor = System.Drawing.Color.FromArgb(122, 150, 170, 170); // controls radioCamera = new RadioButtonGroup(canvas); radioCamera.AutoSizeToContents = true; radioCamera.SetText("Тип камеры"); radioCamera.AddOption("Свободная", "free"); radioCamera.AddOption("Привязанная", "bound"); radioCamera.SetSelection(0); radioCamera.SelectionChanged += radioCamera_SelectionChanged; // coord GroupBox posGroup = new GroupBox(canvas); posGroup.SetText("Позиция камеры"); posGroup.SizeToChildren(); posGroup.SetSize(150, 120); Gwen.Align.PlaceDownLeft(posGroup, radioCamera, 45); labelPosX = new Label(posGroup); labelPosY = new Label(posGroup); labelPosZ = new Label(posGroup); labelPosX.SetText("X: 0.0"); labelPosY.SetText("Y: 1.0"); labelPosZ.SetText("Z: 2.0"); Gwen.Align.PlaceDownLeft(labelPosY, labelPosX, 5); Gwen.Align.PlaceDownLeft(labelPosZ, labelPosY, 5); // reset button Button resetCameraButton = new Gwen.Control.Button(posGroup); resetCameraButton.SetText("Сбросить позицию\nкамеры"); resetCameraButton.Clicked += cameraReset_Clicked; resetCameraButton.SizeToContents(); Gwen.Align.PlaceDownLeft(resetCameraButton, labelPosZ, 5); labelSpeed = new Label(canvas); Gwen.Align.PlaceDownLeft(labelSpeed, posGroup, 5); labelTips = new Label(canvas); labelTips.SetText(freeCameraTip + "\n\n" + nodeTransformTip); labelTips.SizeToContents(); Gwen.Align.PlaceDownLeft(labelTips, labelSpeed, 15); statusBar = new Gwen.Control.StatusBar(canvas); statusBar.Dock = Gwen.Pos.Bottom; }
protected override void OnLoad(EventArgs e) { Shaders.Load(); MSAABuffer = new MsaaFbo(); var renderer = new Gwen.Renderer.OpenTK(); var skinpng = renderer.CreateTexture(GameResources.DefaultSkin); var fontpng = renderer.CreateTexture(GameResources.liberation_sans_15_png); var fontpngbold = renderer.CreateTexture(GameResources.liberation_sans_15_bold_png); var gamefont_15 = new Gwen.Renderer.BitmapFont( renderer, GameResources.liberation_sans_15_fnt, fontpng); var gamefont_15_bold = new Gwen.Renderer.BitmapFont( renderer, GameResources.liberation_sans_15_bold_fnt, fontpngbold); var skin = new Gwen.Skin.TexturedBase(renderer, skinpng, GameResources.DefaultColors ) { DefaultFont = gamefont_15 }; Fonts f = new Fonts(gamefont_15, gamefont_15_bold); Canvas = new GameCanvas(skin, this, renderer, f); _input = new Gwen.Input.OpenTK(this); _input.Initialize(Canvas); Canvas.ShouldDrawBackground = false; Models.LoadModels(); AddCursor("pencil", GameResources.cursor_pencil, 6, 25); AddCursor("line", GameResources.cursor_line, 11, 11); AddCursor("eraser", GameResources.cursor_eraser, 8, 8); AddCursor("hand", GameResources.cursor_move, 16, 16); AddCursor("hand_point", GameResources.cursor_hand, 14, 8); AddCursor("closed_hand", GameResources.cursor_dragging, 16, 16); AddCursor("adjustline", GameResources.cursor_select, 4, 4); AddCursor("size_nesw", GameResources.cursor_size_nesw, 16, 16); AddCursor("size_nwse", GameResources.cursor_size_nwse, 16, 16); AddCursor("size_hor", GameResources.cursor_size_horz, 16, 16); AddCursor("size_ver", GameResources.cursor_size_vert, 16, 16); AddCursor("size_all", GameResources.cursor_size_all, 16, 16); AddCursor("default", GameResources.cursor_default, 7, 4); AddCursor("zoom", GameResources.cursor_zoom_in, 11, 10); AddCursor("ibeam", GameResources.cursor_ibeam, 11, 11); Program.UpdateCheck(); Track.AutoLoadPrevious(); linerider.Tools.CurrentTools.Init(); }
static void Main() { //try { // Create main window m_Window = new RenderWindow(new VideoMode((uint)width, (uint)height), "GalaxyConquest", Screen_Settings.fullScreen ? Styles.Fullscreen : (Styles.Close | Styles.Resize) | Styles.Titlebar, new ContextSettings(32, 0)); // Setup event handlers m_Window.Closed += OnClosed; m_Window.KeyPressed += OnKeyPressed; m_Window.Resized += OnResized; m_Window.KeyReleased += window_KeyReleased; m_Window.MouseButtonPressed += window_MouseButtonPressed; m_Window.MouseButtonReleased += window_MouseButtonReleased; m_Window.MouseWheelMoved += window_MouseWheelMoved; m_Window.MouseMoved += window_MouseMoved; m_Window.TextEntered += window_TextEntered; m_Window.SetFramerateLimit(60); // Create a sprite for the background Sprite background = new Sprite(new global::SFML.Graphics.Texture("background.jpg")); background.Texture.Repeated = true; // Disable lighting Gl.glDisable(Gl.GL_LIGHTING); // Configure the viewport (the same size as the window) Gl.glViewport(0, 0, (int)m_Window.Size.X, (int)m_Window.Size.Y); const int fps_frames = 50; List <long> ftime = new List <long>(fps_frames); long lastTime = 0; // create GWEN renderer Gwen.Renderer.SFML.GwenRenderer gwenRenderer = new Gwen.Renderer.SFML.GwenRenderer(m_Window); // Create GWEN skin //Skin.Simple skin = new Skin.Simple(GwenRenderer); Gwen.Skin.TexturedBase skin = new Gwen.Skin.TexturedBase(gwenRenderer, "DefaultSkin.png"); // set default font Gwen.Font defaultFont = new Gwen.Font(gwenRenderer) { Size = 10, FaceName = "OpenSans.ttf" }; // try to load, fallback if failed if (gwenRenderer.LoadFont(defaultFont)) { gwenRenderer.FreeFont(defaultFont); } skin.SetDefaultFont(defaultFont.FaceName); defaultFont.Dispose(); // skin has its own // Create a Canvas (it's root, on which all other GWEN controls are created) m_Canvas = new Canvas(skin); m_Canvas.SetSize(width, height); // m_Canvas.ShouldDrawBackground = true; // m_Canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170); m_Canvas.KeyboardInputEnabled = true; m_Canvas.ShouldDrawBackground = false; m_Canvas.DrawDebugOutlines = false; // Create GWEN input processor m_Input = new Gwen.Input.SFML.GwenInput(m_Window, m_Canvas); fontLogo = new Gwen.Font(gwenRenderer); fontLogo.FaceName = "OpenSans.ttf"; fontLogo.Size = 35; fontText = new Gwen.Font(gwenRenderer); fontText.FaceName = "OpenSans.ttf"; fontText.Size = 15; fontButtonLabels = new Gwen.Font(gwenRenderer); fontButtonLabels.FaceName = "OpenSans.ttf"; fontButtonLabels.Size = 25; /*Gwen.Control.StatusBar m_StatusBar; * m_StatusBar = new Gwen.Control.StatusBar(m_Canvas); * m_StatusBar.Dock = Gwen.Pos.Bottom; */ double Fps = 0.0; // fps to display screenManager = new ScreenManager(m_Canvas); screenManager.LoadScreen("mainmenu"); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (m_Window.IsOpen() && !quitFlag) { m_Window.SetActive(); m_Window.DispatchEvents(); m_Window.Clear(); m_Window.Draw(background); ///////////////////////// Gl.glClearColor(0f, 0f, 0f, 0f); Gl.glBegin(Gl.GL_QUADS); float x = 100.0f; float y = 100.0f; Gl.glVertex2f(x + 0f, y + 0f); Gl.glVertex2f(x + 0f, y + 1f); Gl.glVertex2f(x + 1f, y + 1f); Gl.glVertex2f(x + 1f, y + 0f); Gl.glEnd(); //m_Window.SwapBuffers(); if (ftime.Count == fps_frames) { ftime.RemoveAt(0); } ftime.Add(stopwatch.ElapsedMilliseconds - lastTime); lastTime = stopwatch.ElapsedMilliseconds; if (stopwatch.ElapsedMilliseconds > 1000) { Fps = 1000f * ftime.Count / ftime.Sum(); stopwatch.Restart(); } //m_StatusBar.Text = "GalaxyConquest v.0.1 - " + Math.Round(Fps, 2).ToString() + " fps"; // render GWEN canvas m_Canvas.RenderCanvas(); m_Window.Display(); } fontLogo.Dispose(); fontText.Dispose(); fontButtonLabels.Dispose(); // we only need to dispose the canvas, it will take care of disposing all its children // and current game screen m_Canvas.Dispose(); // also dispose of these skin.Dispose(); gwenRenderer.Dispose(); } /*catch (Exception e) * { * String msg = String.Format("Exception: {0}\n{1}", e.Message, e.StackTrace); * MessageBox.Show(msg); * }*/ m_Window.Dispose(); }