Ejemplo n.º 1
0
        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                += 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, @"media\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;
        }
Ejemplo n.º 2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            if (_level != null)
            {
                LoadLevel();
            }
            LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin     = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas   = new Gwen.Control.Canvas(gwenSkin);
            gwenInput    = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);

            InitializeUI();
            if (true && _level == null && clientData == null)
            {
                LoadClient(@"C:\Dark Age of Camelot_Latest");
                //_levelId = 221;
                _levelId = 79;
            }
        }
Ejemplo n.º 3
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            LoadLevel();
            LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin     = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas   = new Gwen.Control.Canvas(gwenSkin);
            gwenInput    = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);

            InitializeUI();

            //Pre-JIT compile both SharpNav and this project for faster first-time runs.
            Assembly sharpNavAssebmly = Assembly.Load(Assembly.GetExecutingAssembly().GetReferencedAssemblies().First(n => n.Name == "SharpNav"));

            PreJITMethods(sharpNavAssebmly);
            PreJITMethods(Assembly.GetExecutingAssembly());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Setup OpenGL and load resources here.
        /// </summary>
        /// <param name="e">Not used.</param>
        protected override void OnLoad(EventArgs e)
        {
            GL.ClearColor(Color.MidnightBlue);

            renderer = new Gwen.Renderer.OpenTK();
            skin     = new Gwen.Skin.TexturedBase(renderer, "/Users/abo781/Downloads/win_samples_2/OpenTK/gwen.png");
            //skin = new Gwen.Skin.Simple(renderer);
            //skin.DefaultFont = new Font(renderer, "Courier", 10);
            canvas = new Canvas(skin);

            input = new Gwen.Input.OpenTK(this);
            //input = new Gwen.Input.OpenTK();
            input.Initialize(canvas);

            canvas.SetSize(Width, Height);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor      = Color.FromArgb(255, 150, 170, 170);
            //canvas.KeyboardInputEnabled = true;

            //test = new UnitTest.UnitTest(canvas);

            stopwatch.Restart();
            lastTime = 0;

            scene.Init();
        }
Ejemplo n.º 5
0
        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 += 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");
            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);
        }
Ejemplo n.º 6
0
        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                += 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");
            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);
        }
Ejemplo n.º 7
0
        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 += 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, @"media\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;
        }
        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();
        }
Ejemplo n.º 9
0
        public override void Initialize()
        {
            renderer = new Gwen.Renderer.OpenTK();
            skin     = new Gwen.Skin.TexturedBase(renderer, @"C:\\Users\\Damian\\Downloads\\GLWidget_ 1\\GLWidget\\GLWidgetTest\\bin\\Debug\\DefaultSkin.png");
            canvas   = new Canvas(skin);
            base.Initialize();

            splitter = new Gwen.Control.MultiVerticalSplitter(canvas);
            splitter.SetPosition(0, 0);
            splitter.SplitterSize = 3;
            splitter.MinimumSize  = new System.Drawing.Point(100, 100);
            splitter.Dock         = Pos.Fill;
        }
Ejemplo n.º 10
0
		public override void Initialize ()
		{
			renderer = new Gwen.Renderer.OpenTK();
			skin = new Gwen.Skin.TexturedBase(renderer,@"C:\\Users\\Damian\\Downloads\\GLWidget_ 1\\GLWidget\\GLWidgetTest\\bin\\Debug\\DefaultSkin.png");
			canvas = new Canvas(skin);
			base.Initialize ();

			splitter = new Gwen.Control.MultiVerticalSplitter(canvas);
			splitter.SetPosition(0, 0);
			splitter.SplitterSize = 3;
			splitter.MinimumSize = new System.Drawing.Point (100,100);
			splitter.Dock = Pos.Fill;
		}
Ejemplo n.º 11
0
 public GameCanvas(
     SkinBase skin,
     MainWindow Game,
     Gwen.Renderer.OpenTK renderer,
     Fonts fonts) : base(skin)
 {
     game          = Game;
     Fonts         = fonts;
     this.Renderer = renderer;
     Platform      = new PlatformImpl(Game);
     Gwen.Platform.Neutral.Implementation = Platform;
     CreateUI();
     OnThink += Think;
 }
Ejemplo n.º 12
0
        public override void Load()
        {
            SceneManager.GameWindow.Cursor = MouseCursor.Default;

            // Remap keypad enter to normal enter
            InputSystem.KeyRemappings.Add(Key.KeypadEnter, Key.Enter);

            _gameVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            // Choose correct version directive because OSX is dumb
            string version = "#version 130";

            if (PlatformDetection.RunningPlatform() == Platform.MacOSX)
            {
                version = "#version 150";
            }

            // Load shaders
            var vert = new Shader(Path.Combine(SceneManager.Directories["Shaders"].FullName, "simple.vs"), version);
            var frag = new Shader(Path.Combine(SceneManager.Directories["Shaders"].FullName, "simple.fs"), version);

            _shaderProgram = new ShaderProgram();
            _shaderProgram.Load(vert, frag);

            _player                      = new Player();
            _player.Position             = new PolarVector(1.5 * (Math.PI / 3) - _player.Length * 0.5f, _player.Position.Radius);
            _player.ShaderProgram        = _shaderProgram;
            _centerPolygon               = new PolarPolygon(Enumerable.Repeat(true, 6).ToList(), new PolarVector(0.5, 0), 50, 80, 0);
            _centerPolygon.ShaderProgram = _shaderProgram;

            _menuFont        = SceneManager.GameFontLibrary.GetFirstOrDefault("menuworld");
            _menuFontDrawing = new QFontDrawing();
            _menuFontDrawing.ProjectionMatrix = SceneManager.ScreenCamera.WorldModelViewProjection;
            _menuRenderOptions = new QFontRenderOptions {
                DropShadowActive = true, Colour = Color.White
            };

            _versionFont = SceneManager.GameFontLibrary.GetFirstOrDefault("versiontext");

            var guiRenderer = new Gwen.Renderer.OpenTK();
            var skin        = new TexturedBase(guiRenderer, Path.Combine(SceneManager.Directories["Images"].FullName, "DefaultSkin.png"));

            skin.DefaultFont = new Gwen.Font(guiRenderer, SceneManager.FontPath, 30);
            _GUIComponents   = new GUIComponentContainer(guiRenderer, skin);

            Loaded = true;
        }
Ejemplo n.º 13
0
        public bool Initialize(int Rows, int Columns)
        {
            this.Rows    = Rows;
            this.Columns = Columns;

            RenderHandler = new Gwen.Renderer.OpenTK();

#if DEBUG
            BaseSkin = new Gwen.Skin.TexturedBase(RenderHandler, @"../../../Assets/DefaultSkin.png");
#else
            BaseSkin = new Gwen.Skin.TexturedBase(RenderHandler, @"Assets/DefaultSkin.png");
#endif
            BaseSkin.DefaultFont = new Gwen.Font(RenderHandler, "Arial", 10);

            BaseCanvas = new Gwen.Control.Canvas(BaseSkin);
            BaseCanvas.SetSize(Width, Height);
            BaseCanvas.ShouldDrawBackground = true;
            BaseCanvas.BackgroundColor      = Color.White;

            InputHandler = new Gwen.Input.OpenTK(this);
            InputHandler.Initialize(BaseCanvas);

            // Setup Generic Window Callbacks
            Keyboard.KeyDown   += Keyboard_KeyDown;
            Keyboard.KeyUp     += Keyboard_KeyUp;
            Mouse.ButtonDown   += Mouse_ButtonDown;
            Mouse.ButtonUp     += Mouse_ButtonUp;
            Mouse.Move         += Mouse_Move;
            Mouse.WheelChanged += Mouse_Wheel;

            SetupMenu();
            SetupNetworkedSessionMenu();
            SetupHighscores();
            SetupUsernameMenu();

            Ready = true;

            return(true);
        }
Ejemplo n.º 14
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            LoadLevel();
            LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin     = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas   = new Gwen.Control.Canvas(gwenSkin);
            gwenInput    = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);

            InitializeUI();
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Setup OpenGL and load resources here.
        /// </summary>
        /// <param name="e">Not used.</param>
        protected override void OnLoad(EventArgs e)
        {
            GL.ClearColor(Color.MidnightBlue);

            renderer = new Gwen.Renderer.OpenTK();
            skin = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin.png");
            //skin = new Gwen.Skin.Simple(renderer);
            //skin.DefaultFont = new Font(renderer, "Courier", 10);
            canvas = new Canvas(skin);

            input = new Gwen.Input.OpenTK(this);
            input.Initialize(canvas);

            canvas.SetSize(Width, Height);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor = Color.FromArgb(255, 150, 170, 170);
            //canvas.KeyboardInputEnabled = true;

            var d = new DesignerBase(canvas);

            stopwatch.Restart();
            lastTime = 0;
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Setup OpenGL and load resources here.
        /// </summary>
        /// <param name="e">Not used.</param>
        protected override void OnLoad(EventArgs e)
        {
            GL.ClearColor(Color.MidnightBlue);

            renderer = new Gwen.Renderer.OpenTK();
            skin     = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin.png");
            //skin = new Gwen.Skin.Simple(renderer);
            //skin.DefaultFont = new Font(renderer, "Courier", 10);
            canvas = new Canvas(skin);

            input = new Gwen.Input.OpenTK(this);
            input.Initialize(canvas);

            canvas.SetSize(Width, Height);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor      = Color.FromArgb(255, 150, 170, 170);
            //canvas.KeyboardInputEnabled = true;

            var d = new DesignerBase(canvas);

            stopwatch.Restart();
            lastTime = 0;
        }
Ejemplo n.º 17
0
        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;
        }
Ejemplo n.º 18
0
        public void OnLoad(EventArgs e)
        {
            Renderer = new Gwen.Renderer.OpenTK();
            _skin    = new Gwen.Skin.TexturedBase(Renderer, "Content/DefaultSkin.png");
            Canvas   = new Gwen.Control.Canvas(_skin);

            _input = new Gwen.Input.OpenTK(Program.Game);
            _input.Initialize(Canvas);

            Canvas.SetSize((int)Program.Game.windowSize.X, (int)Program.Game.windowSize.Y);
            Canvas.ShouldDrawBackground = false;
            Canvas.BackgroundColor      = Color.FromArgb(255, 150, 170, 170);

            SetupInputEvents();

            _sideMenuBox = new Gwen.Control.GroupBox(_canvas);
            _sideMenuBox.SetSize(80, 128);
            _sideMenuBox.Position(Gwen.Pos.Center);
            _sideMenuBox.Position(Gwen.Pos.Right, 5);

            LoadElementCatagories();

            // Current element text
            _currentElementLabel = new Gwen.Control.Label(_canvas);
            _currentElementLabel.SetPosition(10, 10);
            _currentElementLabel.SetSize(100, 40);
            _currentElementLabel.SetText("");

            // Bottom menu
            _bottomMenuBox = new Gwen.Control.GroupBox(_canvas);
            _bottomMenuBox.SetSize(800, 36);

            _bottomMenuBox.Position(Gwen.Pos.Center);
            _bottomMenuBox.Position(Gwen.Pos.Bottom);
            _bottomMenuBox.ShouldDrawBackground = true;
        }
        protected override void OnLoad()
        {
            GL.ClearColor(Color.MidnightBlue);

            renderer = new Gwen.Renderer.OpenTK(this);
            skin     = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin.png")
            {
                DefaultFont = new Font(renderer, "Arial", 10)
            };
            canvas = new Canvas(skin);

            input = new Input.OpenTK();
            input.Initialize(canvas);

            canvas.SetSize(1024, 768);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor      = Color.FromArgb(255, 150, 170, 170);
            //canvas.KeyboardInputEnabled = true;

            test = new UnitTest.UnitTest(canvas);

            stopwatch.Restart();
            lastTime = 0;
        }
Ejemplo n.º 20
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            LoadLevel();
            LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas = new Gwen.Control.Canvas(gwenSkin);
            gwenInput = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);

            InitializeUI();
        }
Ejemplo n.º 21
0
        public GameCanvas(SkinBase skin, MainWindow Game, Gwen.Renderer.OpenTK renderer) : base(skin)
        {
            game           = Game;
            this.Renderer  = renderer;
            BoundsChanged += GameCanvas_BoundsChanged;
            SpriteLoading  = new Sprite(this);
            SpriteLoading.SetImage(GameResources.loading);
            SpriteLoading.IsHidden             = true;
            SpriteLoading.IsTabable            = false;
            SpriteLoading.KeyboardInputEnabled = false;
            SpriteLoading.MouseInputEnabled    = false;
            SpriteLoading.SetSize(32, 32);
            SpriteLoading.RotationPoint.X = 16;
            SpriteLoading.RotationPoint.Y = 16;
            SpriteLoading.SetPosition(Width - 32, 0);


            Scrubber = new HorizontalIntSlider(this)
            {
                X                    = 120,
                Y                    = Height - 25,
                Width                = Width - 120 * 2,
                Height               = 25,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "timeslider",
            };
            var btnfastfoward = new ImageButton(this)
            {
                X                    = Scrubber.Right,
                Y                    = Height - 36,
                Width                = 32,
                Height               = 32,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnfastforward"
            };

            btnfastfoward.SetImage(GameResources.fast_forward, GameResources.fast_forward_white);
            var btnslowmo = new ImageButton(this)
            {
                X                    = Scrubber.X - 24,
                Y                    = Height - 36,
                Width                = 32,
                Height               = 32,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnslowmo"
            };

            btnslowmo.SetImage(GameResources.rewind, GameResources.rewind_white);
            btnslowmo.Clicked     += (o, e) => { game.PlaybackSpeedDown(); };
            btnfastfoward.Clicked += (o, e) => { game.PlaybackSpeedUp(); };

            Scrubber.ValueChanged += scrubber_ValueChanged;
            var labelTrackName = new Label(this)
            {
                TextColor = System.Drawing.Color.Black,
                Dock      = Pos.Left,
                Margin    = new Margin(5, 0, 0, 20),
                Name      = "trackname"
            };
            Label labeliteration = new Label(this);

            labeliteration.Name = "labeliterations";
            labeliteration.SetText("");
            labeliteration.TextColor = Color.Black;
            Align.PlaceDownLeft(labeliteration, labelTrackName);

            var toprightcontainer = new ControlBase(this)
            {
                Dock              = Pos.Right,
                IsTabable         = false,
                Width             = 150,
                Height            = 300,
                MouseInputEnabled = false
            };

            new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "fps"
            };
            var labelppf = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "ppf"
            };
            var labelPlayback = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "labelplayback"
            };

            new Label(this)
            {
                TextColor = Color.Black, Name = "flagtime"
            };
            var textheight = renderer.MeasureText(skin.DefaultFont, "").Y + 3;

            labelppf.SetPosition(0, textheight);
            labelPlayback.SetPosition(0, textheight * 2);

            var vslider = new VerticalSlider(this)
            {
                Min                  = 0.1f,
                Max                  = 24f,
                Value                = game.Track.Zoom,
                IsTabable            = false,
                KeyboardInputEnabled = false
            };

            vslider.ValueChanged += (o, e) =>
            {
                var slider = (VerticalSlider)o;
                game.SetZoom(slider.Value, false);
            };
            vslider.SetPosition(0, (int)Height - 150);
            vslider.Name = "vslider";
            Align.AlignRight(vslider);
            vslider.Height = 125;
        }
Ejemplo n.º 22
0
        public static GameCanvas CreateCanvas(GLWindow game)
        {
            var renderer = new Gwen.Renderer.OpenTK();

            var tx = new Texture(renderer);

            Gwen.Renderer.OpenTK.LoadTextureInternal(tx, GameResources.DefaultSkin);
            var skin    = new TexturedBase(renderer, tx, GameResources.DefaultColors);
            var bmpfont = new Gwen.Renderer.OpenTK.BitmapFont(renderer, "SourceSansPro", 10, 10, GameResources.SourceSansProq,
                                                              new List <System.Drawing.Bitmap> {
                GameResources.SourceSansPro_img
            });

            skin.DefaultFont = bmpfont;
            var canvas = new GameCanvas(skin, game)
            {
                Renderer = renderer
            };

            canvas.SpriteLoading = new Sprite(canvas);
            canvas.SpriteLoading.SetImage(GameResources.loading);
            canvas.SpriteLoading.IsHidden             = true;
            canvas.SpriteLoading.IsTabable            = false;
            canvas.SpriteLoading.KeyboardInputEnabled = false;
            canvas.SpriteLoading.MouseInputEnabled    = false;
            canvas.SpriteLoading.SetSize(32, 32);
            canvas.SpriteLoading.RotationPoint.X = 16;
            canvas.SpriteLoading.RotationPoint.Y = 16;
            canvas.SpriteLoading.SetPosition(canvas.Width - 32, 0);

            var timeslider = new HorizontalIntSlider(canvas)
            {
                X                    = 120,
                Y                    = canvas.Height - 25,
                Width                = canvas.Width - 120 * 2,
                Height               = 25,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "timeslider",
            };
            var btnfastfoward = new ImageButton(canvas)
            {
                X                    = timeslider.Right,
                Y                    = canvas.Height - 25,
                Width                = 24,
                Height               = 24,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnfastforward"
            };

            btnfastfoward.SetImage(GameResources.fast_forward, GameResources.fast_forward_white);
            var btnslowmo = new ImageButton(canvas)
            {
                X                    = timeslider.X - 24,
                Y                    = canvas.Height - 25,
                Width                = 24,
                Height               = 24,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnslowmo"
            };

            btnslowmo.SetImage(GameResources.rewind, GameResources.rewind_white);
            btnslowmo.Clicked     += (o, e) => { game.PlaybackDown(); };
            btnfastfoward.Clicked += (o, e) => { game.PlaybackUp(); };

            timeslider.ValueChanged += canvas.timeslider_ValueChanged;
            var labelTrackName = new Label(canvas)
            {
                TextColor = System.Drawing.Color.Black,
                Dock      = Pos.Left,
                Margin    = new Margin(5, 0, 0, 0),
                Name      = "trackname"
            };
            Label labeliteration = new Label(canvas);

            labeliteration.Name = "labeliterations";
            labeliteration.Font = new Font(renderer, "Arial", 18);
            labeliteration.SetText("");
            labeliteration.TextColor = Color.Black;
            Align.PlaceDownLeft(labeliteration, labelTrackName);

            var toprightcontainer = new ControlBase(canvas)
            {
                Dock              = Pos.Right,
                Width             = 150,
                Height            = 300,
                MouseInputEnabled = false
            };
            var fps = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "fps"
            };
            var labelppf = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "ppf"
            };
            var labelPlayback = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "labelplayback"
            };
            var flagtime = new Label(canvas)
            {
                TextColor = Color.Black, Name = "flagtime"
            };
            var textheight = renderer.MeasureText(skin.DefaultFont, "@").Y + 3;

            labelppf.SetPosition(0, textheight);
            labelPlayback.SetPosition(0, textheight * 2);

            var vslider = new VerticalSlider(canvas)
            {
                Min = 0.1f, Max = 24f, Value = game.Track.Zoom, IsTabable = false
            };

            vslider.ValueChanged += (o, e) =>
            {
                var slider = (VerticalSlider)o;
                var diff   = slider.Value - game.Track.Zoom;
                game.Zoom(diff, false);
            };
            vslider.SetPosition(0, (int)canvas.Height - 150);
            vslider.Name = "vslider";
            Align.AlignRight(vslider);
            vslider.Height = 125;
            return(canvas);
        }
Ejemplo n.º 23
0
        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();
        }
Ejemplo n.º 24
0
 public GUIComponentContainer(Gwen.Renderer.OpenTK renderer, Gwen.Skin.Base skin) : this()
 {
     Renderer = renderer;
     Skin     = skin;
 }
Ejemplo n.º 25
0
        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;
        }
Ejemplo n.º 26
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeOpenGL();

            if (_level != null) LoadLevel();
            LoadDebugMeshes();

            gwenRenderer = new Gwen.Renderer.OpenTK();
            gwenSkin = new Gwen.Skin.TexturedBase(gwenRenderer, "GwenSkin.png");
            gwenCanvas = new Gwen.Control.Canvas(gwenSkin);
            gwenInput = new Gwen.Input.OpenTK(this);

            gwenInput.Initialize(gwenCanvas);
            gwenCanvas.SetSize(Width, Height);
            gwenCanvas.ShouldDrawBackground = false;

            gwenProjection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1);

            InitializeUI();
            if (true && _level == null && clientData == null)
            {
                LoadClient(@"C:\Dark Age of Camelot_Latest");
                //_levelId = 221;
                _levelId = 79;
            }
        }