Hi Hewi, Despite SDL2 have many resourcese, it seems to me that the library is very redundant. Suport for OpenGL and DirectX, the new structure SDL_Texture and the old SDL_Surface. However, both structures don't offer good drawing resources. SDL_texture was acctually the only big reason I was using SDL2 (and I think this is the reason of many), but with a little effort, I was able to obtain better results just using OpenGL framebuffers, but any later developer will not ave to worry about learn how to use framebuffers to create widgets, because this is part of the library core.
SDL_ttf is an advantage for SDL, but it was still a SLD 1.2 library, using resources from the SDL 1.2. So, to use true-type fonts, there was still needed to use SDL 1.2 stuff (structures and functions). About input system, seems that GLFW has the same things as SDL2, but I found out (at the developers' page) that GLFW will have tablet support, and there is no plan of tablet support for SDL2. In general, the GUI library seems cleanner using GLFW, the code is simpler. For true-type fonts rendering, I'm making tests right now, I'm using FTGL, but later I will test with a simple implementation that can be found at NeHe's site: http://nehe.gamedev.net/tutorial/freetype_fonts_in_opengl/24001/ ---------------------- Well, every time I make a project, I start by making an entire layout about how the pieces will fit together (occasionally, changes will happen). I spend more time planning than coding. In that proposal page, I would care more about Design's Layout & Conventions. First, because I would need to write out the Code section, but I don't have much time this week (exams at university), and second, because the Blender's users write their concepts based on their own conventions over the current layout. Some conventions questions would be: * Use the so proposed fixed tabs or toolbar? * Still use the same frame splitting concept( http://wiki.blender.org/index.php/Doc:2.6/Manual/Interface/Window_system/Arranging_frames )? * New Input/output conventions? ... To write the conventions and rules of code, for later widget developers, I still need to implement a small part of the code. If you have ever used Delphi or Lazarus, you will get the idea of how it will be. The difference is that to someone connect an signal, instead of do the following: WidgetButton->FOnClick = &my_click_function; it will do like Gtk: Widget_ConnectSignal(WidgetButton, "on-click", &my_click_function); A feature that I would not go for is multiple windows. I still don't support multiple windows in my library, and I don't plan to support it for now, that is why a single window can have multiple client widgets (top-level widgets) instead: https://lh3.googleusercontent.com/-cANZBgd_5EQ/Upr1i_UhjmI/AAAAAAAAAFA/rd5_kf-Mmc8/s1055/Screen002.png On the layout of a development tool like Blender, it is important to care more about the disposal redundancy. Some stuff could be together, some separated. If you are curious about the code, you can seeit at https://github.com/FelipeFS/TableGUI/blob/master/GUI.c. The core functions are at the end of the file. The more in the end the function is written, the more innermost is the function. Regards, Felipe =) 2013/12/17 <[email protected]> > @Felipe Ferreira, > > Hey Felipe Ferreira, > > Is there a specific reason why you have switched to glfw besides you like > it? I have many messages stating sdl2 would be a better choice and I have > actually been in contact with glfw support team and also they mention > that, for a project the size of blender, you would be better of using the > sdl2 libs. > > Also, did you have a planning of your GUI project, do you have an overall > code layout or structure scheme? Are you using some kind of software > development scheme or did you just "dive in?". For example: what kind of > application loop are you thinking off/implementing? > > Eventually I am just concerned you are putting a lot of effort energy and > time in writing code which eventually might have to be re-factored yet > again. That would be very sad. > > Have a look at : > > > http://wiki.blender.org/index.php/Dev:Ref/Proposals/UI/BUI_BlenderUserInterface > > and tell me what you're input would be there > > regards > > hewi > > > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers > -- - Felipe Ferreira da Silva _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
