style: separate 4-quadrant arc from left borders with balanced margins

This commit is contained in:
Sebastián Nieto 2026-09-09 21:19:11 -03:00
parent 0b2e80fe96
commit bebd9cf1b6

View file

@ -184,78 +184,78 @@ inline void drawBarBlock(uint8_t i, uint16_t color) {
} }
// 4-Quadrant Exponential Segmented Block Bar Graph (20 blocks per 160x120 quadrant, Anti-Aliased) // 4-Quadrant Exponential Segmented Block Bar Graph (20 blocks per 160x120 quadrant, Anti-Aliased)
const int16_t quadBlockMinX[20] PROGMEM = { 0, 2, 5, 8, 12, 17, 22, 29, 37, 46, 56, 66, 76, 86, 96, 106, 115, 125, 135, 145 }; const int16_t quadBlockMinX[20] PROGMEM = { 6, 8, 11, 14, 18, 22, 27, 33, 41, 50, 60, 69, 79, 88, 97, 107, 116, 125, 135, 144 };
const int16_t quadBlockMaxX[20] PROGMEM = { 13, 15, 19, 22, 26, 31, 37, 44, 51, 60, 69, 79, 88, 98, 108, 117, 127, 137, 147, 156 }; const int16_t quadBlockMaxX[20] PROGMEM = { 17, 20, 23, 26, 30, 35, 40, 47, 54, 62, 71, 80, 89, 98, 108, 117, 126, 136, 145, 154 };
const int16_t quadBlockMinY[20] PROGMEM = { 99, 89, 80, 71, 62, 53, 45, 38, 33, 30, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27 }; const int16_t quadBlockMinY[20] PROGMEM = { 99, 90, 80, 71, 62, 53, 45, 38, 33, 30, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27 };
const int16_t quadBlockMaxY[20] PROGMEM = { 112, 103, 94, 85, 76, 68, 60, 53, 47, 43, 40, 39, 38, 38, 38, 38, 38, 38, 38, 38 }; const int16_t quadBlockMaxY[20] PROGMEM = { 111, 102, 93, 84, 75, 67, 59, 52, 46, 42, 39, 38, 37, 37, 37, 37, 37, 37, 37, 36 };
const float quadBlockNx[20][4] PROGMEM = { const float quadBlockNx[20][4] PROGMEM = {
{ -0.96559f, -0.27252f, 0.96559f, 0.24838f }, { -0.96873f, -0.28545f, 0.96873f, 0.26034f },
{ -0.95700f, -0.30564f, 0.95699f, 0.27558f }, { -0.96087f, -0.31982f, 0.96087f, 0.28863f },
{ -0.94472f, -0.34769f, 0.94471f, 0.30948f }, { -0.94962f, -0.36330f, 0.94961f, 0.32380f },
{ -0.92644f, -0.40223f, 0.92642f, 0.35263f }, { -0.93279f, -0.41940f, 0.93276f, 0.36840f },
{ -0.89793f, -0.47424f, 0.89788f, 0.40871f }, { -0.90637f, -0.49287f, 0.90632f, 0.42604f },
{ -0.85142f, -0.56935f, 0.85129f, 0.48283f }, { -0.86285f, -0.58870f, 0.86273f, 0.50158f },
{ -0.77354f, -0.68905f, 0.77328f, 0.58054f }, { -0.78884f, -0.70704f, 0.78859f, 0.59988f },
{ -0.64798f, -0.81800f, 0.64770f, 0.70233f }, { -0.66674f, -0.83126f, 0.66647f, 0.72000f },
{ -0.47589f, -0.91972f, 0.47607f, 0.83033f }, { -0.49454f, -0.92658f, 0.49472f, 0.84294f },
{ -0.29895f, -0.97319f, 0.29947f, 0.92739f }, { -0.31289f, -0.97566f, 0.31343f, 0.93366f },
{ -0.16408f, -0.99284f, 0.16442f, 0.97636f }, { -0.17229f, -0.99352f, 0.17265f, 0.97855f },
{ -0.08089f, -0.99843f, 0.08102f, 0.99382f }, { -0.08503f, -0.99858f, 0.08517f, 0.99440f },
{ -0.03600f, -0.99972f, 0.03604f, 0.99867f }, { -0.03785f, -0.99975f, 0.03790f, 0.99880f },
{ -0.01422f, -0.99996f, 0.01423f, 0.99977f }, { -0.01495f, -0.99997f, 0.01496f, 0.99979f },
{ -0.00481f, -1.00000f, 0.00481f, 0.99997f }, { -0.00506f, -1.00000f, 0.00506f, 0.99997f },
{ -0.00131f, -1.00000f, 0.00131f, 1.00000f }, { -0.00138f, -1.00000f, 0.00138f, 1.00000f },
{ -0.00026f, -1.00000f, 0.00026f, 1.00000f }, { -0.00027f, -1.00000f, 0.00027f, 1.00000f },
{ -0.00003f, -1.00000f, 0.00003f, 1.00000f }, { -0.00003f, -1.00000f, 0.00003f, 1.00000f },
{ -0.00000f, -1.00000f, 0.00000f, 1.00000f }, { -0.00000f, -1.00000f, 0.00000f, 1.00000f },
{ -0.00000f, -1.00000f, 0.00000f, 1.00000f }, { -0.00000f, -1.00000f, 0.00000f, 1.00000f },
}; };
const float quadBlockNy[20][4] PROGMEM = { const float quadBlockNy[20][4] PROGMEM = {
{ -0.26007f, 0.96215f, 0.26008f, -0.96866f }, { -0.24812f, 0.95839f, 0.24813f, -0.96552f },
{ -0.29010f, 0.95215f, 0.29012f, -0.96128f }, { -0.27699f, 0.94748f, 0.27701f, -0.95744f },
{ -0.32788f, 0.93761f, 0.32791f, -0.95090f }, { -0.31342f, 0.93167f, 0.31345f, -0.94612f },
{ -0.37644f, 0.91554f, 0.37650f, -0.93576f }, { -0.36043f, 0.90780f, 0.36049f, -0.92967f },
{ -0.44013f, 0.88039f, 0.44024f, -0.91266f }, { -0.42248f, 0.87010f, 0.42259f, -0.90471f },
{ -0.52449f, 0.82210f, 0.52469f, -0.87571f }, { -0.50547f, 0.80835f, 0.50567f, -0.86511f },
{ -0.63375f, 0.72471f, 0.63407f, -0.81423f }, { -0.61460f, 0.70717f, 0.61492f, -0.80009f },
{ -0.76166f, 0.57522f, 0.76190f, -0.71185f }, { -0.74529f, 0.55588f, 0.74553f, -0.69397f },
{ -0.87951f, 0.39257f, 0.87941f, -0.55728f }, { -0.86916f, 0.37610f, 0.86905f, -0.53800f },
{ -0.95427f, 0.23000f, 0.95411f, -0.37410f }, { -0.94979f, 0.21928f, 0.94961f, -0.35816f },
{ -0.98645f, 0.11943f, 0.98639f, -0.21615f }, { -0.98505f, 0.11365f, 0.98498f, -0.20601f },
{ -0.99672f, 0.05600f, 0.99671f, -0.11103f }, { -0.99638f, 0.05326f, 0.99637f, -0.10565f },
{ -0.99935f, 0.02355f, 0.99935f, -0.05152f }, { -0.99928f, 0.02240f, 0.99928f, -0.04900f },
{ -0.99990f, 0.00865f, 0.99990f, -0.02140f }, { -0.99989f, 0.00823f, 0.99989f, -0.02035f },
{ -0.99999f, 0.00264f, 0.99999f, -0.00774f }, { -0.99999f, 0.00251f, 0.99999f, -0.00736f },
{ -1.00000f, 0.00062f, 1.00000f, -0.00231f }, { -1.00000f, 0.00059f, 1.00000f, -0.00220f },
{ -1.00000f, 0.00010f, 1.00000f, -0.00052f }, { -1.00000f, 0.00010f, 1.00000f, -0.00049f },
{ -1.00000f, 0.00001f, 1.00000f, -0.00008f }, { -1.00000f, 0.00001f, 1.00000f, -0.00008f },
{ -1.00000f, 0.00000f, 1.00000f, -0.00000f }, { -1.00000f, 0.00000f, 1.00000f, -0.00000f },
{ -1.00000f, -0.00000f, 1.00000f, -0.00000f }, { -1.00000f, -0.00000f, 1.00000f, -0.00000f },
}; };
const float quadBlockC[20][4] PROGMEM = { const float quadBlockC[20][4] PROGMEM = {
{ 37.4358f, -95.7104f, -29.4374f, 105.3111f }, { 41.7856f, -93.5481f, -34.1546f, 103.3382f },
{ 40.4052f, -84.6918f, -32.4076f, 94.5998f }, { 44.5999f, -82.2723f, -36.9638f, 92.4134f },
{ 43.7423f, -73.1663f, -35.7462f, 83.5384f }, { 47.7629f, -70.4265f, -40.1195f, 81.0900f },
{ 47.4998f, -60.8527f, -39.5065f, 71.9476f }, { 51.3245f, -57.7107f, -43.6709f, 69.1709f },
{ 51.6851f, -47.2838f, -43.6968f, 59.5307f }, { 55.2918f, -43.6432f, -47.6235f, 56.3424f },
{ 56.1380f, -31.7302f, -48.1577f, 45.7969f }, { 59.5081f, -27.5111f, -51.8172f, 42.0998f },
{ 60.2200f, -13.3339f, -52.2488f, 29.9893f }, { 63.3426f, -8.5811f, -55.6117f, 25.7100f },
{ 62.3450f, 7.8942f, -54.3778f, 11.2714f }, { 65.1824f, 12.8372f, -57.3856f, 6.4771f },
{ 60.4416f, 29.4505f, -52.4809f, -10.1523f }, { 62.8287f, 34.0208f, -54.9625f, -15.0827f },
{ 54.6617f, 47.9417f, -46.7062f, -31.5238f }, { 56.3655f, 51.8199f, -48.4499f, -36.0307f },
{ 47.9727f, 62.6966f, -40.0016f, -49.6097f }, { 48.9839f, 65.8882f, -41.0263f, -53.4142f },
{ 42.6961f, 74.9496f, -34.7083f, -64.0428f }, { 43.2142f, 77.5420f, -35.2300f, -67.1688f },
{ 39.3129f, 85.8690f, -31.3169f, -76.1142f }, { 39.5475f, 87.9249f, -31.5522f, -78.6494f },
{ 37.4353f, 96.1338f, -29.4363f, -86.9425f }, { 37.5285f, 97.6859f, -29.5297f, -88.9455f },
{ 36.5277f, 106.0939f, -28.5279f, -97.1639f }, { 36.5593f, 107.1569f, -28.5595f, -98.6652f },
{ 36.1555f, 115.9233f, -28.1555f, -107.1046f }, { 36.1641f, 116.5046f, -28.1641f, -108.1181f },
{ 36.0331f, 125.7043f, -28.0332f, -116.9264f }, { 36.0348f, 125.8060f, -28.0349f, -117.4586f },
{ 36.0042f, 135.4714f, -28.0042f, -126.7049f }, { 36.0044f, 135.0942f, -28.0044f, -126.7576f },
{ 36.0002f, 145.2358f, -28.0002f, -136.4714f }, { 36.0002f, 144.3798f, -28.0002f, -136.0452f },
{ 36.0000f, 155.0000f, -28.0000f, -146.2358f }, { 36.0000f, 153.6652f, -28.0000f, -145.3308f },
}; };
// Draw an individual solid rectangular block for 4-quadrant view with smooth subpixel anti-aliasing // Draw an individual solid rectangular block for 4-quadrant view with smooth subpixel anti-aliasing