Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Man am I lucky today

Man am I lucky today

Scheduled Pinned Locked Moved The Lounge
graphicsdesignhelpcomhardware
6 Posts 4 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #1

    Today I found a vector graphics library in C that can potentially run on little devices (at least after I'm done with it) GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^] 1. It supports text and it uses the same "STB" truetype engine as my library does in order to do so. What a happy coincidence! I've made some mods to my fork, but it's not a problem. 2. Someone else wrote an SVG engine that works on top of it, meaning I think it's feature complete enough for that that I can too. 3. It appears on first blush that it creates contours and edges upon document creation rather than upon render, which is a boon for performance compared to what I had been forced to do before. 4. It uses tables to do a lot of trigonometry required. So now not only do I have my anti-aliased, alpha blended vector graphics additions to GFX, I can finally hopefully sidestep my crashing issue (The waterbed post from the other day) because my strong suspicion is the crash was coming from the SVG end of things. Since I'm replacing that entire mess with this, that will hopefully tie that in a bow as well. Once finished GFX will be the premier embedded graphics library for doing vector graphics. At that point I'll feel it's a worthy alternative to LVGL depending on the project needs. Man, what a find.

    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

    P pkfoxP C 3 Replies Last reply
    0
    • H honey the codewitch

      Today I found a vector graphics library in C that can potentially run on little devices (at least after I'm done with it) GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^] 1. It supports text and it uses the same "STB" truetype engine as my library does in order to do so. What a happy coincidence! I've made some mods to my fork, but it's not a problem. 2. Someone else wrote an SVG engine that works on top of it, meaning I think it's feature complete enough for that that I can too. 3. It appears on first blush that it creates contours and edges upon document creation rather than upon render, which is a boon for performance compared to what I had been forced to do before. 4. It uses tables to do a lot of trigonometry required. So now not only do I have my anti-aliased, alpha blended vector graphics additions to GFX, I can finally hopefully sidestep my crashing issue (The waterbed post from the other day) because my strong suspicion is the crash was coming from the SVG end of things. Since I'm replacing that entire mess with this, that will hopefully tie that in a bow as well. Once finished GFX will be the premier embedded graphics library for doing vector graphics. At that point I'll feel it's a worthy alternative to LVGL depending on the project needs. Man, what a find.

      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

      P Online
      P Online
      PIEBALDconsult
      wrote on last edited by
      #2

      I just use an 8-point font to save code space. :)

      1 Reply Last reply
      0
      • H honey the codewitch

        Today I found a vector graphics library in C that can potentially run on little devices (at least after I'm done with it) GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^] 1. It supports text and it uses the same "STB" truetype engine as my library does in order to do so. What a happy coincidence! I've made some mods to my fork, but it's not a problem. 2. Someone else wrote an SVG engine that works on top of it, meaning I think it's feature complete enough for that that I can too. 3. It appears on first blush that it creates contours and edges upon document creation rather than upon render, which is a boon for performance compared to what I had been forced to do before. 4. It uses tables to do a lot of trigonometry required. So now not only do I have my anti-aliased, alpha blended vector graphics additions to GFX, I can finally hopefully sidestep my crashing issue (The waterbed post from the other day) because my strong suspicion is the crash was coming from the SVG end of things. Since I'm replacing that entire mess with this, that will hopefully tie that in a bow as well. Once finished GFX will be the premier embedded graphics library for doing vector graphics. At that point I'll feel it's a worthy alternative to LVGL depending on the project needs. Man, what a find.

        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

        pkfoxP Offline
        pkfoxP Offline
        pkfox
        wrote on last edited by
        #3

        I take it it's open source ?

        In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP

        H 1 Reply Last reply
        0
        • pkfoxP pkfox

          I take it it's open source ?

          In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP

          H Offline
          H Offline
          honey the codewitch
          wrote on last edited by
          #4

          Yeah - MIT license, like my lib.

          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

          1 Reply Last reply
          0
          • H honey the codewitch

            Today I found a vector graphics library in C that can potentially run on little devices (at least after I'm done with it) GitHub - sammycage/plutovg: Tiny 2D vector graphics library in C[^] 1. It supports text and it uses the same "STB" truetype engine as my library does in order to do so. What a happy coincidence! I've made some mods to my fork, but it's not a problem. 2. Someone else wrote an SVG engine that works on top of it, meaning I think it's feature complete enough for that that I can too. 3. It appears on first blush that it creates contours and edges upon document creation rather than upon render, which is a boon for performance compared to what I had been forced to do before. 4. It uses tables to do a lot of trigonometry required. So now not only do I have my anti-aliased, alpha blended vector graphics additions to GFX, I can finally hopefully sidestep my crashing issue (The waterbed post from the other day) because my strong suspicion is the crash was coming from the SVG end of things. Since I'm replacing that entire mess with this, that will hopefully tie that in a bow as well. Once finished GFX will be the premier embedded graphics library for doing vector graphics. At that point I'll feel it's a worthy alternative to LVGL depending on the project needs. Man, what a find.

            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

            C Offline
            C Offline
            CTOGuy
            wrote on last edited by
            #5

            That open source project appears to be unattributed and based off FreeType[^], make sure to add that to your tertiary licence chain after you refactor it to be unrecognizable. After you get it working on your MCU it should be easy to compare to the improvements over the LVGL offering[^]. Looks like FreeType on LVGL requires 24KB of stack.

            H 1 Reply Last reply
            0
            • C CTOGuy

              That open source project appears to be unattributed and based off FreeType[^], make sure to add that to your tertiary licence chain after you refactor it to be unrecognizable. After you get it working on your MCU it should be easy to compare to the improvements over the LVGL offering[^]. Looks like FreeType on LVGL requires 24KB of stack.

              H Offline
              H Offline
              honey the codewitch
              wrote on last edited by
              #6

              It uses some code from Freetype, and my license documentation will reflect that. I'm actually pouring over all the code to convert it to C++ and do things like integrate it such that it uses my bitmap class instead of its own - that sort of thing, so I'm pretty familiar with where the codebase comes from. And I've worked with FreeType before and am familiar with it, which is why I made TinyTTF - and contributed that to LVGL as it runs in more places. That said, the freetype bits used in pluto isn't very heavy - just typedefs and rasterization algorithms.

              Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups