Our great sponsors
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- SonarQube - Static code analysis for 29 languages.
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
-
In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.
-
In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
-
In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.
-
Then there is the entire internationalization problem for which you have to implement most of the Unicode standard, the reports can be found here: http://unicode.org/reports/ and in general you will need the bidirectional algorithm for Hewbrew/Arabic texts, normalization, the line breaking algorithm, the script property and probably text segmentation. On top, you will also need to deal with text shaping (e.g. https://github.com/harfbuzz/harfbuzz). For instance é should be rendered as é and not as e' (even though the grapheme may consist of two code points, there is also a version that is a single code point).
-
Once you have all this, you have the graphics tools to start implementing widgets like buttons, text boxes, etc. but on top of all this, you suddenly have to figure out how to support displays with different DPIs, as your GUI will otherwise be too small/too big. So you generally want to get rid of expressing values in pixels and instead move to percentages. You will also want to describe things in terms of horizontal/vertical layouts and grids. For instance, take a look at: https://github.com/dylanede/cassowary-rs
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.