Esempio n. 1
0
        public override void InitUi(Canvas canvas)
        {
            var window = new WindowControl(canvas, "Menu principal");
            window.DisableResizing();
            window.IsClosable = false;
            window.SetSize(200, 125);
            window.SetPosition(Game.GetWindowSize().X / 2 - window.Width / 2, Game.GetWindowSize().Y / 2 - window.Height / 2);

            var playButton = new Button(window);
            playButton.SetText("Jouer !");
            playButton.Clicked += (sender, arguments) => ShowSelectLevelUi(canvas);

            var settingsButton = new Button(window);
            settingsButton.SetText("Options");
            Align.PlaceDownLeft(settingsButton, playButton, 10);

            var exitButton = new Button(window);
            exitButton.SetText("Quitter");
            exitButton.Clicked += (sender, arguments) => { Game.Close(); };
            Align.PlaceDownLeft(exitButton, settingsButton, 10);

            Align.CenterHorizontally(playButton);
            Align.CenterHorizontally(settingsButton);
            Align.CenterHorizontally(exitButton);
        }
Esempio n. 2
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());
        }
Esempio n. 3
0
	// Use this for initialization
	void Start () {
        // create GWEN renderer
        UnityGwenRenderer gwenRenderer = new UnityGwenRenderer();

        // Create GWEN skin
        //Skin.Simple skin = new Skin.Simple(GwenRenderer);
        Gwen.Skin.TexturedBase skin = new Gwen.Skin.TexturedBase(gwenRenderer, "DefaultSkin");

        // set default font
        skin.DefaultFont = new Gwen.Font(gwenRenderer, "Arvo-Regular", 10);

        // Create a Canvas (it's root, on which all other GWEN controls are created)
        m_Canvas = new Gwen.Control.Canvas(skin);
        m_Canvas.SetSize(width, height);
        m_Canvas.ShouldDrawBackground = true;
        m_Canvas.BackgroundColor = new System.Drawing.Color(255, 150, 170, 170);
        m_Canvas.KeyboardInputEnabled = true;

        //win = new Gwen.Control.WindowControl(m_Canvas);
        //win.SetBounds(50, 50, 300, 300);
        //win.RenderColor = System.Drawing.Color.White;
        

        // Create GWEN input processor
        m_Input = new Gwen.Input.UnityGwenInput();
        m_Input.Initialize(m_Canvas);
	}
Esempio 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(System.Drawing.Color.MidnightBlue);

            Platform.Platform.Init(new Platform.Windows());

            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL10();
            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL20();
            m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL40();

            m_Skin = new Gwen.Skin.TexturedBase(m_Renderer, "DefaultSkin2.png");

            m_Skin.DefaultFont = new Font(m_Renderer, "Arial", 11);
            m_Canvas           = new Canvas(m_Skin);
            m_Input            = new Gwen.Renderer.OpenTK.Input.OpenTK(this);
            m_Input.Initialize(m_Canvas);

            m_Canvas.SetSize(Width, Height);
            m_Canvas.ShouldDrawBackground = true;
            m_Canvas.BackgroundColor      = m_Skin.Colors.ModalBackground;

            if (Configuration.RunningOnMacOS)
            {
                m_Canvas.Scale = 1.5f;
            }

            m_UnitTest = new Gwen.UnitTest.UnitTest(m_Canvas);

            m_Stopwatch.Restart();
            m_LastTime = 0;
        }
Esempio n. 5
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;
        }
Esempio 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, @"media\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);
        }
Esempio n. 7
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);
        }
Esempio n. 8
0
        /// <summary>
        /// Setup OpenGL and load resources here.
        /// </summary>
        /// <param name="e">Not used.</param>
        protected override void OnLoad(EventArgs e)
        {
            GL.ClearColor(System.Drawing.Color.MidnightBlue);

            Platform.Platform.Init(new Platform.Windows.WindowsPlatform());
            Loader.LoaderBase.Init(new Platform.Windows.FileLoader());

            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL10();
            m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL20();
            //m_Renderer = new Gwen.Renderer.OpenTK.OpenTKGL42();

            m_Skin             = new Gwen.Skin.TexturedBase(m_Renderer, Gwen.XmlDesigner.XmlDesigner.Settings.Skin, "DefaultSkinDefinition.xml");
            m_Skin.DefaultFont = new Font(m_Renderer, "Arial", Configuration.RunningOnMacOS ? 20 : 11);
            m_Canvas           = new Canvas(m_Skin);
            m_Input            = new Gwen.Renderer.OpenTK.Input.OpenTK(this);
            m_Input.Initialize(m_Canvas);

            m_Canvas.SetSize(Width, Height);
            m_Canvas.ShouldDrawBackground = true;
            m_Canvas.BackgroundColor      = new Color(255, 150, 170, 170);

            m_XmlDesigner       = Gwen.Xml.Component.Create <Gwen.XmlDesigner.XmlDesigner>(m_Canvas);
            m_XmlDesigner.Exit += OnExit;

            m_Stopwatch.Restart();
            m_LastTime = 0;
        }
Esempio n. 9
0
        public ProjectPane(ProjectManager projectManager, Canvas canvas)
        {
            InitControl(canvas);

            this.projectManager = projectManager;

            projectManager.ProjectAdded += OnProjectAdded;
            projectManager.ProjectRemoved += OnProjectRemoved;
        }
Esempio n. 10
0
        public void Init(Gwen.Renderer.Base renderer, string textureName)
        {
            this.renderer = renderer;
            skin = new Gwen.Skin.TexturedBase(renderer, textureName);
            Canvas = new Gwen.Control.Canvas(skin);

            ToolBar = new ToolBar(Canvas);
            DocumentTab = new DocumentTab(Canvas);

            if (GUIInitiated != null)
                GUIInitiated.Invoke();
        }
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);

            renderer = new Gwen.Renderer.Monogame(spriteBatch, Content);
            skin     = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin");

            canvas = new Canvas(skin);
            canvas.SetSize(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor      = Color.Blue.ToGwenColor();
        }
Esempio n. 12
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;
		}
Esempio n. 13
0
 /// <summary>
 /// UnloadContent will be called once per game and is the place to unload
 /// game-specific content.
 /// </summary>
 protected override void UnloadContent()
 {
     if (canvas != null)
     {
         canvas.Dispose();
         canvas = null;
     }
     if (skin != null)
     {
         skin.Dispose();
         skin = null;
     }
     if (renderer != null)
     {
         renderer.Dispose();
         renderer = null;
     }
 }
Esempio n. 14
0
 /// <summary>
 /// UnloadContent will be called once per game and is the place to unload
 /// game-specific content.
 /// </summary>
 protected override void UnloadContent()
 {
     if (m_Canvas != null)
     {
         m_Canvas.Dispose();
         m_Canvas = null;
     }
     if (m_Skin != null)
     {
         m_Skin.Dispose();
         m_Skin = null;
     }
     if (m_Renderer != null)
     {
         m_Renderer.Dispose();
         m_Renderer = null;
     }
 }
Esempio n. 15
0
 public override void Dispose()
 {
     if (m_Canvas != null)
     {
         m_Canvas.Dispose();
         m_Canvas = null;
     }
     if (m_Skin != null)
     {
         m_Skin.Dispose();
         m_Skin = null;
     }
     if (m_Renderer != null)
     {
         m_Renderer.Dispose();
         m_Renderer = null;
     }
     base.Dispose();
 }
Esempio n. 16
0
        protected override void Dispose(bool disposing)
        {
            if (m_Canvas != null)
            {
                m_Canvas.Dispose();
                m_Canvas = null;
            }
            if (m_Skin != null)
            {
                m_Skin.Dispose();
                m_Skin = null;
            }
            if (m_Renderer != null)
            {
                m_Renderer.Dispose();
                m_Renderer = null;
            }

            base.Dispose();
        }
Esempio n. 17
0
        void TearDownGL()
        {
            EAGLContext.SetCurrentContext(context);

            if (m_Canvas != null)
            {
                m_Canvas.Dispose();
                m_Canvas = null;
            }
            if (m_Skin != null)
            {
                m_Skin.Dispose();
                m_Skin = null;
            }
            if (m_Renderer != null)
            {
                m_Renderer.Dispose();
                m_Renderer = null;
            }
        }
Esempio n. 18
0
        void SetupGL()
        {
            EAGLContext.SetCurrentContext(context);

            var view = (GLKView)View;

            Platform.Platform.Init(new Platform.iOS());

            m_Renderer                    = new Gwen.Renderer.iOS.OpenTK.OpenTK(false);
            m_Skin                        = new Gwen.Skin.TexturedBase(m_Renderer, "DefaultSkin.png");
            m_Skin.DefaultFont            = new Font(m_Renderer, "Arial", 13);
            m_Canvas                      = new Canvas(m_Skin);
            m_Canvas.ShouldDrawBackground = true;
            m_Canvas.BackgroundColor      = new Color(255, 150, 170, 170);

            m_Canvas.Scale = 1.5f;

            m_UnitTest = new Gwen.UnitTest.UnitTest(m_Canvas);

            m_Stopwatch.Restart();
            m_LastTime = 0;
        }
Esempio n. 19
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();
        }
Esempio n. 20
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            Platform.Platform.Init(new Gwen.Platform.MonoGame.MonoGamePlatform());
            Loader.LoaderBase.Init(new Gwen.Loader.MonoGame.MonoGameAssetLoader(Content));

            m_Renderer = new Gwen.Renderer.MonoGame.MonoGame(GraphicsDevice, Content, Content.Load <Effect>("GwenEffect"));
            m_Renderer.Resize(m_Graphics.PreferredBackBufferWidth, m_Graphics.PreferredBackBufferHeight);

            m_Skin             = new Gwen.Skin.TexturedBase(m_Renderer, "Skins/DefaultSkin", "Skins/DefaultSkinDefinition");
            m_Skin.DefaultFont = new Font(m_Renderer, "Arial", 11);
            m_Canvas           = new Canvas(m_Skin);
            m_Input            = new Gwen.Renderer.MonoGame.Input.MonoGame(this);
            m_Input.Initialize(m_Canvas);

            m_Canvas.SetSize(m_Graphics.PreferredBackBufferWidth, m_Graphics.PreferredBackBufferHeight);
            m_Canvas.ShouldDrawBackground = true;
            m_Canvas.BackgroundColor      = new Color(255, 150, 170, 170);

            m_UnitTest = new Gwen.UnitTest.UnitTest(m_Canvas);

            m_Time = 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.TexturedSkin(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;

            test = new UnitTest.UnitTest(canvas);

            stopwatch.Restart();
            lastTime = 0;
        }
Esempio n. 22
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;
        }
Esempio n. 23
0
        private void GlForm_Load(object sender, EventArgs e)
        {
            glControl.InitializeContexts();
            Gl.glClearColor(1f, 0f, 0f, 1f);
            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
            Gl.glOrtho(0, glControl.Width, glControl.Height, 0, -1, 1);
            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glViewport(0, 0, glControl.Width, glControl.Height);

            renderer = new Gwen.Renderer.Tao();
            skin = new Gwen.Skin.TexturedBase(renderer, "DefaultSkin.png");
            canvas = new Canvas(skin);
            canvas.SetSize(glControl.Width, glControl.Height);
            canvas.ShouldDrawBackground = true;
            canvas.BackgroundColor = Color.FromArgb(255, 150, 170, 170);
            canvas.KeyboardInputEnabled = true;
            canvas.MouseInputEnabled = true;

            test = new UnitTest.UnitTest(canvas);

            stopwatch.Restart();
            lastTime = 0;
        }
Esempio n. 24
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.DefaultFont = new Font(renderer, "Arial", 10);
            canvas           = new Canvas(skin);

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

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

            //Control.TreeControl ctrl = new Control.TreeControl(canvas);

            //ctrl.AddNode("Node One");
            //ctrl.AddNode("Node Two").AddNode("Node Two Inside");
            //ctrl.SetBounds(20, 20, 400, 400);

            test = new UnitTest.UnitTest(canvas);

            //var button = new Button(canvas);
            //button.Font = new Font(renderer, "Times New Roman", 30);
            //button.AutoSizeToContents = false;
            //button.Text = "Hello I am a\n test button!";
            //button.SetPosition(500, 500);
            //button.SetSize(200, 30);

            stopwatch.Restart();
            lastTime = 0;
        }
        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;
        }
Esempio n. 26
0
 public void Initialize(Canvas c)
 {
     m_Canvas = c;
 }
Esempio n. 27
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;
            }
        }
Esempio n. 28
0
 public void SetCanvas(Canvas canvas)
 {
     if (canvas == null)
         Canvas = _PrivateCanvas;
     else
         Canvas = canvas;
 }
        /// <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.DefaultFont = new Font(renderer, "Arial", 10);
            canvas = new Canvas(skin);

            input = new Input.OpenTK(this);
            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;
        }
Esempio n. 30
0
        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;
        }
Esempio n. 31
0
        public void DestroyCanvas(Canvas canvas)
        {
            if (Canvas == canvas)
                SetCanvas (null);

            canvas.Dispose ();
        }
Esempio n. 32
0
 /// <summary>
 /// Sets the currently active canvas.
 /// </summary>
 /// <param name="canvas">Canvas to use.</param>
 /// <param name="target">Rander target (needed for scaling).</param>
 public void Initialize(Canvas canvas, RenderTarget target)
 {
     m_Canvas = canvas;
     m_Target = target;
 }
Esempio n. 33
0
        public override void InitUi(Canvas canvas) {
            _canvas = canvas;
            Game.BackgroundColor = Color.Black;

            var windowAction = new WindowControl(canvas, "Options", false);
            windowAction.DisableResizing();
            windowAction.IsClosable = false;
            windowAction.SetSize(200, 150);
            windowAction.SetPosition(0, 0);

            var addScriptButton = new Button(windowAction);
            addScriptButton.SetText("Ajouter un script");
            addScriptButton.Clicked += (sender, arguments) => ShowAddScriptWindow(canvas);
            Align.CenterHorizontally(addScriptButton);


            // Fenêtre sur les informations du script sélectionné 
            _windowInfoScript = new WindowControl(canvas, "Paramètres du script");
            _windowInfoScript.DisableResizing();
            _windowInfoScript.IsClosable = false;
            _windowInfoScript.SetSize(200, 300);
            _windowInfoScript.SetPosition(Game.GetWindowSize().X - _windowInfoScript.Width, 0);

            var labelX = new Label(_windowInfoScript);
            labelX.SetPosition(0, 10);
            labelX.SetText("X :");

            _uiInfoTextBoxPosX = new TextBoxNumeric(_windowInfoScript);
            _uiInfoTextBoxPosX.SetSize(100, _uiInfoTextBoxPosX.Height);
            _uiInfoTextBoxPosX.TextChanged += (sender, arguments) => {
                if (_selectScript != null) {
                    _selectScript.RectShape.Position = new Vector2f((int) _uiInfoTextBoxPosX.Value,
                        _selectScript.RectShape.Position.Y);
                }
            };
            Align.PlaceRightBottom(_uiInfoTextBoxPosX, labelX, 10);

            var labelY = new Label(_windowInfoScript);
            labelY.SetText("Y :");
            Align.PlaceDownLeft(labelY, labelX, 10);

            _uiInfoTextBoxPosY = new TextBoxNumeric(_windowInfoScript);
            _uiInfoTextBoxPosY.SetSize(100, _uiInfoTextBoxPosY.Height);
            _uiInfoTextBoxPosY.TextChanged += (sender, arguments) => {
                if (_selectScript != null) {
                    _selectScript.RectShape.Position = new Vector2f(_selectScript.RectShape.Position.X,
                        (int) _uiInfoTextBoxPosY.Value);
                }
            };
            Align.PlaceRightBottom(_uiInfoTextBoxPosY, labelY, 10);

            var labelSizeX = new Label(_windowInfoScript);
            labelSizeX.SetText("Largeur :");
            Align.PlaceDownLeft(labelSizeX, labelY, 10);

            _uiInfoTextBoxSizeX = new TextBoxNumeric(_windowInfoScript);
            _uiInfoTextBoxSizeX.SetSize(100, _uiInfoTextBoxPosY.Height);
            _uiInfoTextBoxSizeX.TextChanged += (sender, arguments) => {
                if (_selectScript != null) {
                    _selectScript.RectShape.Size = new Vector2f((int)_uiInfoTextBoxSizeX.Value,
                        _selectScript.RectShape.Size.Y);
                    _selectScript.RectShape.Origin = new Vector2f(_selectScript.RectShape.Size.X / 2, _selectScript.RectShape.Size.Y / 2);
                }
            };
            Align.PlaceRightBottom(_uiInfoTextBoxSizeX, labelSizeX, 10);

            var labelSizeY = new Label(_windowInfoScript);
            labelSizeY.SetText("Hauteur :");
            Align.PlaceDownLeft(labelSizeY, labelSizeX, 10);

            _uiInfoTextBoxSizeY = new TextBoxNumeric(_windowInfoScript);
            _uiInfoTextBoxSizeY.SetSize(100, _uiInfoTextBoxSizeY.Height);
            _uiInfoTextBoxSizeY.TextChanged += (sender, arguments) => {
                if (_selectScript != null) {
                    _selectScript.RectShape.Size = new Vector2f(_selectScript.RectShape.Size.X,
                        (int)_uiInfoTextBoxSizeY.Value);
                    _selectScript.RectShape.Origin = new Vector2f(_selectScript.RectShape.Size.X / 2, _selectScript.RectShape.Size.Y / 2);
                }
            };
            Align.PlaceRightBottom(_uiInfoTextBoxSizeY, labelSizeY, 10);

            _uiInfoScriptImage = new ImagePanel(_windowInfoScript);
            _uiInfoScriptImage.SetSize(75, 75);
            _uiInfoScriptImage.Hide();

            Align.PlaceDownLeft(_uiInfoScriptImage, _uiInfoTextBoxSizeY, 10);
            Align.CenterHorizontally(_uiInfoScriptImage);

            UnSelect_SelectScript();
        }
Esempio n. 34
0
 public override void InitUi(Canvas canvas)
 {
 }
Esempio n. 35
0
        static void Main()
        {
            //try
            {
                const int width = 1024;
                const int height = 768;

                // Create main window
                m_Window = new RenderWindow(new VideoMode(width, height), "GWEN.Net SFML test", Styles.Titlebar|Styles.Close|Styles.Resize, 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);

                const int fps_frames = 50;
                List<long> ftime = new List<long>(fps_frames);
                long lastTime = 0;

                // create GWEN renderer
                Renderer.SFML gwenRenderer = new Renderer.SFML(m_Window);

                // Create GWEN skin
                //Skin.Simple skin = new Skin.Simple(GwenRenderer);
                Skin.TexturedBase skin = new Skin.TexturedBase(gwenRenderer, "DefaultSkin.png");

                // set default font
                Font defaultFont = new Font(gwenRenderer) {Size = 10, FaceName = "Arial Unicode MS"};
                
                // try to load, fallback if failed
                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 = "OpenSans.ttf";
                    }
                }

                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;

                // create the unit test control
                m_UnitTest = new UnitTest.UnitTest(m_Canvas);

                // Create GWEN input processor
                m_Input = new Input.SFML();
                m_Input.Initialize(m_Canvas, m_Window);

                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start();
                while (m_Window.IsOpen())
                {
                    m_Window.SetActive();
                    m_Window.DispatchEvents();
                    m_Window.Clear();

                    // Clear depth buffer
                    Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT | Gl.GL_COLOR_BUFFER_BIT);

                    if (ftime.Count == fps_frames)
                        ftime.RemoveAt(0);

                    ftime.Add(stopwatch.ElapsedMilliseconds - lastTime);
                    lastTime = stopwatch.ElapsedMilliseconds;

                    if (stopwatch.ElapsedMilliseconds > 1000)
                    {
                        m_UnitTest.Fps = 1000f * ftime.Count / ftime.Sum();
                        stopwatch.Restart();
                    }

                    // render GWEN canvas
                    m_Canvas.RenderCanvas();

                    m_Window.Display();
                }

                // we only need to dispose the canvas, it will take care of disposing all its children
                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();
        }
Esempio n. 36
0
        public static void RenderOverlay(Canvas canvas, Skin.Base skin)
        {
            if (CurrentPackage == null) 
                return;
            if (CurrentPackage.DrawControl == null) 
                return;

            Point old = skin.Renderer.RenderOffset;

            skin.Renderer.AddRenderOffset(new Rectangle(
                m_MouseX - SourceControl.X - CurrentPackage.HoldOffset.X,
                m_MouseY - SourceControl.Y - CurrentPackage.HoldOffset.Y, 0, 0));
            CurrentPackage.DrawControl.DoRender(skin);

            skin.Renderer.RenderOffset = old;
        }
Esempio n. 37
0
 private void ShowAddScriptWindow(Canvas canvas) {
     var windowAddScript = new WindowControl(canvas, "Ajouter un script", true);
     
     windowAddScript.DisableResizing();
     windowAddScript.SetSize(200, 300);
     windowAddScript.SetPosition(Game.GetWindowSize().X / 2 - windowAddScript.Width / 2, Game.GetWindowSize().Y / 2 - windowAddScript.Height / 2);
 }
Esempio n. 38
0
 private void ShowAddScriptInfoWindow(Canvas canvas) {
     var windowAddScriptInfo = new WindowControl(canvas, "Script", false);
     windowAddScriptInfo.DisableResizing();
 }
Esempio n. 39
0
        /// <summary>
        /// Contains the shared constructor code
        /// </summary>
        /// <param name="target"></param>
        private Gui(RenderTarget target)
        {
            _renderer = new Gwen.Renderer.SFML(target);

            skin = new TexturedBase(_renderer, "DefaultSkin.png");

            // load font. TODO: remove hardcoding
            using (var font = new Gwen.Font(_renderer, "OpenSans.ttf", 14))
            {
                if (_renderer.LoadFont(font))
                    _renderer.FreeFont(font);
                else
                {
                    font.FaceName = "Arial Unicode MS";
                    if (_renderer.LoadFont(font))
                        _renderer.FreeFont(font);
                    else
                    {
                        font.FaceName = "Arial";
                        _renderer.LoadFont(font);
                    }
                }

                skin.SetDefaultFont(font.FaceName, 14);
            }

            GuiCanvas = new Canvas(skin);
            GuiCanvas.SetSize((int)target.Size.X, (int)target.Size.Y);
            GuiCanvas.ShouldDrawBackground = false;
            GuiCanvas.BackgroundColor = System.Drawing.Color.Black;
            GuiCanvas.KeyboardInputEnabled = true;

            _input = new Gwen.Input.SFML();
            _input.Initialize(GuiCanvas, target);
        }
Esempio n. 40
0
        private void ShowSelectLevelUi(Canvas canvas)
        {
            var window = new WindowControl(canvas, "Choisir un niveau", true);
            window.DisableResizing();
            window.SetSize(300, 400);
            window.SetPosition(Game.GetWindowSize().X /2 - window.Width / 2, Game.GetWindowSize().Y / 2 - window.Height / 2);

            var listLevel = new ListBox(window);
            listLevel.SetSize(window.Width / 2, window.Height - 40);
            if (Directory.Exists(_levelsPath)) {
                foreach (var file in Directory.EnumerateFiles(_levelsPath)) {
                    var fileInfo = new FileInfo(file);
                    if (fileInfo.Extension.Equals(".mtrlvl")) {
                        listLevel.AddRow(fileInfo.Name.Remove(fileInfo.Name.LastIndexOf('.')), fileInfo.Name, file);
                    }
                }
            }

            var widthButton = window.Width - listLevel.Width - 30;

            var playButton = new Button(window);
            playButton.SetText("Jouer");
            playButton.SetPosition(listLevel.Width + 10, 0);
            playButton.SetSize(widthButton, playButton.Height);
            playButton.Clicked += (sender, arguments) => {
               LoadLevel(listLevel, canvas, false);
            };

            var deleteLevelButton = new Button(window);
            deleteLevelButton.SetText("Supprimer");
            deleteLevelButton.SetSize(widthButton, deleteLevelButton.Height);
            deleteLevelButton.Clicked += (sender, arguments) => {
                if (listLevel.SelectedRowIndex == -1)
                    new MessageBox(canvas, "Aucun niveau n'a été sélectionné !", "Erreur !").Show();
                else {
                    var path = listLevel.SelectedRow.UserData.ToString();
                    try {
                        File.Delete(path);
                        listLevel.RemoveRow(listLevel.SelectedRowIndex);
                        listLevel.SelectedRow = null;
                        Log.WriteInfo("Le niveau : " + path + " a été supprimé !");
                    }
                    catch (IOException e) {
                        new MessageBox(canvas, "Impossible de supprimer le niveau sélectionné ! Erreur : " + e.Message, "Erreur !").Show();
                    }
                }
            };
            Align.PlaceDownLeft(deleteLevelButton, playButton, 10);

            var editLevelButton = new Button(window);
            editLevelButton.SetText("Editer le niveau");
            editLevelButton.SetSize(widthButton, editLevelButton.Height);
            editLevelButton.Clicked += (sender, arguments) => {
                LoadLevel(listLevel, canvas, true);
            };
            Align.PlaceDownLeft(editLevelButton, deleteLevelButton, 10);

            var newLevelButton = new Button(window);
            newLevelButton.SetText("Nouveau niveau");
            newLevelButton.SetSize(widthButton, newLevelButton.Height);
            Align.PlaceDownLeft(newLevelButton, editLevelButton, 10);
        }
Esempio n. 41
0
    public void Init(GameWindow gamewindow)
    {
        renderer = new Gwen.Renderer.OpenTK();
        skin = new Gwen.Skin.TexturedBase (renderer, "DefaultSkin.png");
        canvas = new Gwen.Control.Canvas (skin);
        canvas.SetSize (gamewindow.Width, gamewindow.Height);
        canvas.ShouldDrawBackground = true;
        canvas.BackgroundColor = System.Drawing.Color.FromArgb (255, 225, 225, 225);

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

        gamewindow.Keyboard.KeyDown += (s, e) =>
        {
            input.ProcessKeyDown (e);
        };
        gamewindow.Keyboard.KeyUp += (s, e) =>
        {
            input.ProcessKeyUp (e);
        };

        gamewindow.Mouse.ButtonDown += (s, e) =>
        {
            input.ProcessMouseMessage (e);
        };
        gamewindow.Mouse.ButtonUp += (s, e) =>
        {
            input.ProcessMouseMessage (e);
        };
        gamewindow.Mouse.Move += (s, e) =>
        {
            input.ProcessMouseMessage (e);
        };
        gamewindow.Mouse.WheelChanged += (s, e) =>
        {
            input.ProcessMouseMessage (e);
        };

        gamewindow.Load += (s, e) =>
        {
            PreLoad();

            gamewindow.VSync = VSyncMode.On;

            PostLoad();
        };

        gamewindow.Resize += (s, e) =>
        {
            GL.Viewport (0, 0, gamewindow.Width, gamewindow.Height);
            GL.MatrixMode (MatrixMode.Projection);
            GL.LoadIdentity();
            GL.Ortho (0, gamewindow.Width, gamewindow.Height, 0, -1, 1);

            canvas.SetSize (gamewindow.Width, gamewindow.Height);
        };

        gamewindow.UpdateFrame += (s, e) =>
        {
            PreUpdate();

            if (renderer.TextCacheSize > 1000)
                renderer.FlushTextCache();

            PostUpdate();
        };

        gamewindow.RenderFrame += (s, e) =>
        {
            gamewindow.MakeCurrent();

            PreRender();

            canvas.RenderCanvas();

            PostRender();

            gamewindow.SwapBuffers();
        };
    }
Esempio n. 42
0
 /// <summary>
 /// Sets the currently active canvas.
 /// </summary>
 /// <param name="canvas">Canvas to use.</param>
 /// <param name="target">Rander target (needed for scaling).</param>
 public void Initialize(Canvas canvas)
 {
     m_Canvas = canvas;
 }
Esempio n. 43
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;
        }
Esempio n. 44
0
        //static int serial = 0;
        //int ID = 0;

        public ZApplication(): base(null)
        {
            App = this; // there can be only one ZApplication at a time
            SetStaticReferences(); // set the other static references in Model classes
            // Create the expression after the App reference has been set
            //MouseDownExpr = new ZCode<MouseMethod>();
            //MouseUpExpr = new ZCode<MouseMethod>();
            Canvas = new Canvas();
            //ID = serial++;
            //Console.WriteLine(String.Format("ZApplication created: {0}", ID));
        }
Esempio n. 45
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();
        }
Esempio n. 46
0
        private void LoadLevel(ListBox listLevel, Canvas canvas, bool editorMode)
        {
            if (listLevel.SelectedRowIndex == -1)
                new MessageBox(canvas, "Aucun niveau n'a été sélectionné !", "Erreur !").Show();
            else {

                var path = listLevel.SelectedRow.UserData as string;

                if (File.Exists(path)) {
                    try {

                        var level = LevelManager.LoadLevel(Game, new FileInfo(path));

                        if (editorMode)
                            Game.LoadScene(new EditorScene(Game, level));
                        else
                            Game.LoadScene(new GameScene(Game, level));
                    }
                    catch (Exception e) {
                        Log.WriteError(e.Message);
                    }
                }
                else {
                    Log.WriteError("Le niveau sélectionné n'existe pas !");
                }

            }
        }