public void Init() { SDL.SDL_Init(SDL.SDL_INIT_EVERYTHING); Window = SDL.SDL_CreateWindow("SDL2 GUI", WindowSize[0], WindowSize[1], WindowSize[2], WindowSize[3], SDL.SDL_WindowFlags.SDL_WINDOW_RESIZABLE | SDL.SDL_WindowFlags.SDL_WINDOW_SHOWN | SDL.SDL_WindowFlags.SDL_WINDOW_INPUT_FOCUS); SDL.SDL_SetWindowResizable(Window, SDL.SDL_bool.SDL_FALSE); int drivers = SDL.SDL_GetNumRenderDrivers(); for (int i = 0; i < drivers; i++) { SDL.SDL_RendererInfo info; SDL.SDL_GetRenderDriverInfo(i, out info); Renderer = SDL.SDL_CreateRenderer(Window, i, (SDL.SDL_RendererFlags)info.flags); if (Renderer.ToInt32() != 0) { Printer.Instance.Init(Renderer); break; } } SDL_image.IMG_Init(SDL_image.IMG_InitFlags.IMG_INIT_PNG); LoadImages(); SDL.SDL_Rect sliceParams; sliceParams.x = 4; sliceParams.y = 4; sliceParams.w = 27; sliceParams.h = 27; _images[0].Slice(sliceParams); _images[1].Slice(sliceParams); _images[2].Slice(sliceParams); _images[3].Slice(sliceParams); _gui = new MyGUI(Renderer, WindowSize[2], WindowSize[3]); Canvas window = new Canvas(_gui); for (int i = 0; i < 4; i++) { Button b = new Button(_images[0], _images[1], _images[2], _images[3], 0, i * 25, 100, 25, "Click Me!"); b.OnMouseClick = ClickHandler; if (i == 3) { b.Disable(); b.SetText("Disabled"); _toEnableRef = b; } else { _countersByButtonId.Add(b.ObjectId, 0); } window.AddElement(b); } Button enabler = new Button(_images[0], _images[1], _images[2], _images[3], 0, 5 * 25, 100, 25, "Enabler"); enabler.OnMouseClick = EnablerHandler; window.AddElement(enabler); Button b2 = new Button(_images[0], _images[1], _images[2], _images[3], 775, 0, 25, 25, "X"); b2.TextScale = 1.5f; b2.OnMouseClick = ExitApp; window.AddElement(b2); _gui.PushCanvas(window); }