|
I read it wrong at first too. But, he was asking what to call the file not how to read it.
Jeremy Falcon
|
|
|
|
|
Oh look, I'm using an archaic fixed length COBOL-style file format!
How's that for the name?
|
|
|
|
|
How about we create a modern acronym for it.... FUBAR!
Fixed-length Unicode Byte Array Record
Jeremy Falcon
|
|
|
|
|
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
I'm sure they are direct descendant of punch cards.
(large public sector system)
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
Every single one of these inherited classes exposes one or more static template methods to facilitate drawing such that you can do like draw::line(...) , draw::filled_rectangle(...) or draw::text(...)
It's not just one liner classes either. Most of these are at least a page. I had to start the inherited classes with "x" to move them down the autocomplete list in vs code so they don't get in the way.
Yesterday this was all in a single 5000 line header. This morning I finished refactoring and integrating. Woo!
#ifndef HTCW_GFX_DRAW_HPP
#define HTCW_GFX_DRAW_HPP
#include "gfx_draw_common.hpp"
#include "gfx_draw_point.hpp"
#include "gfx_draw_filled_rectangle.hpp"
#include "gfx_draw_line.hpp"
#include "gfx_draw_rectangle.hpp"
#include "gfx_draw_bitmap.hpp"
#include "gfx_draw_icon.hpp"
#include "gfx_draw_text.hpp"
#include "gfx_draw_ellipse.hpp"
#include "gfx_draw_arc.hpp"
#include "gfx_draw_rounded_rectangle.hpp"
#include "gfx_draw_filled_rounded_rectangle.hpp"
#include "gfx_draw_polygon.hpp"
#include "gfx_draw_filled_polygon.hpp"
#include "gfx_draw_sprite.hpp"
#include "gfx_draw_image.hpp"
namespace gfx {
struct draw : public helpers::xdraw_point,
public helpers::xdraw_filled_rectangle,
public helpers::xdraw_line,
public helpers::xdraw_rectangle,
public helpers::xdraw_bitmap,
public helpers::xdraw_icon,
public helpers::xdraw_text,
public helpers::xdraw_ellipse,
public helpers::xdraw_arc,
public helpers::xdraw_rounded_rectangle,
public helpers::xdraw_filled_rounded_rectangle,
public helpers::xdraw_polygon,
public helpers::xdraw_filled_polygon,
public helpers::xdraw_sprite,
public helpers::xdraw_image
{};
}
#endif
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
The feeling after you finally got around to clean that dirty room you wanted to for so long (may not apply to everyone). Pure bliss!
|
|
|
|
|
Time for #pragma once
|
|
|
|
|
I don't use pragma once for these files because this way i get breadcrumbs that let me know which files have been included already. I have yet to need that, but I wanted it in case I ended up needing it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
You have done well HTW
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
|
|
|
|
|
Wordle 1,164 3/6
🟩🟨⬜🟨🟨
🟩🟨🟩🟨🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,164 4/6*
⬜⬜🟩🟨🟩
🟨⬜🟩⬜🟩
🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,164 3/6*
🟨⬜⬜🟨🟩
🟩⬜🟩⬜🟩
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
⬜⬜🟩⬜🟩
⬜⬜🟩🟨🟩
🟩⬜🟩🟩🟩
🟩🟩🟩🟩🟩
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
|
|
|
|
|
Wordle 1,164 4/6
⬜⬜⬜⬜🟨
🟩⬜🟩⬜🟩
🟩🟨🟩🟨🟩
🟩🟩🟩🟩🟩
Within you lies the power for good - Use it!
|
|
|
|
|
Wordle 1,164 X/6*
🟨🟩⬛⬛🟩
🟩🟩🟩⬛🟩
🟩🟩🟩⬛🟩
🟩🟩🟩⬛🟩
🟩🟩🟩⬛🟩
🟩🟩🟩⬛🟩
Too many choices.
|
|
|
|
|
Wordle 1,164 4/6*
🟩🟩🟩⬜🟩
🟩🟩🟩⬜🟩
🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
Wordle 1,164 4/6
🟨⬛⬛⬛🟩
🟩⬛🟩⬛🟩
🟩🟩🟩⬛🟩
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
🟩🟩🟩🟩🟩
🟩🟨🟩🟨🟩
🟩🟩🟩🟩🟩
🟨🟩🟩🟩🟨
🟩🟨🟨🟨🟩
🟩🟩🟩🟩🟩
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
You made a smiley face. Noice.
Jeremy Falcon
|
|
|
|
|
Wordle 1,164 2/6
⬛🟨🟩⬛🟨
🟩🟩🟩🟩🟩
Jeremy Falcon
|
|
|
|
|
I'm simplifying my graphics library.
I'm moving the responsibility for async operations, and other driver related nonsense outside the library.
There are a number of reasons for it, KISS being the overarching philosophy. Previously I had tightly coupled drivers for this library for a bunch of display devices and platforms under Arduino but it's sort of out of scope of just graphics operations themselves.
Now I have a draw on demand library that builds on my graphics library, draws as needed, and renders bitmaps to send to the display. There's very little need for a tightly coupled driver interface anymore.
That means my capabilities queryable parameters get reduced significantly, no more read, async, or suspend. It's not necessary.
But man, removing those breaks everything. I have endless template specializations for the various capabilities, like drawing synchronously vs asynchronously, or drawing on devices where readback isn't available (nixing things like alpha-blending and anti-aliasing). I don't need those anymore, but we're talking hundreds and hundreds of compile errors.
Taking a break in the middle of it is difficult because getting back into it is tough.
Adding features is easy by comparison.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
|
Totally agree.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Absolutely.
That's one of the reasons why code usually become more complicated over time.
|
|
|
|