libc: BGI Фаза 2d-3 — settextstyle (масштаб и направление текста)
settextstyle/gettextsettings/textwidth/textheight: DEFAULT_FONT 8×8, целочисленный масштаб 1..10, HORIZ/VERT (поворот 90° CCW), прозрачный фон. Свой scaled-рендер (_bgi_draw_scaled) читает глиф через leaf _bgi_font_rows (interleaved системный шрифт) и рисует блоки size×size raw в одной W3-скобке. outtext/outtextxy переведены на него. Проверено в MAME (tests/bgitest): размеры 1..4 + вертикальный текст. Доки обновлены (Ф2d-1/2/3 готовы; осталось viewport/клиппинг). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+10
-2
@@ -229,11 +229,19 @@ CP), `line(x1,y1,x2,y2)` (не двигает).
|
||||
`fillpoly(n,pts)`, `fillellipse(x,y,xr,yr)`.
|
||||
Заливка областей (Ф2c): `floodfill(x,y,border)` (медленно, но верно),
|
||||
`pieslice(x,y,st,end,r)`, `sector(x,y,st,end,xr,yr)`.
|
||||
Спрайты (Ф2d): `imagesize/getimage/putimage` (COPY/XOR/OR/AND/NOT_PUT;
|
||||
формат буфера: uint16 w,h + w*h байт).
|
||||
Стиль линий (Ф2d): `setlinestyle(style,upattern,thick)`/`getlinesettings`
|
||||
(SOLID/DOTTED/CENTER/DASHED/USERBIT + NORM/THICK) — на line/rectangle/
|
||||
drawpoly.
|
||||
Стиль текста (Ф2d): `settextstyle(font,dir,size)`/`gettextsettings`,
|
||||
`textwidth`/`textheight` — масштаб 1..10, HORIZ/VERT, прозрачный фон
|
||||
(только DEFAULT_FONT 8×8).
|
||||
Реализация: libc/bgi/*.c (math) + libc/bgi/drv256/*.c (leaf →
|
||||
sprinter_gfx256.lib). Пакетные примитивы — одна W3-скобка на примитив;
|
||||
тригонометрия/эллипсы целочисленные (Q7/isqrt, БЕЗ 32-бит).
|
||||
Ф2d (осталось): getimage/putimage, viewport/клиппинг, settextstyle,
|
||||
setlinestyle, setaspectratio — см. docs/TODO.md.
|
||||
Ф2d (осталось): setviewport/клиппинг, settextjustify, setaspectratio —
|
||||
см. docs/TODO.md.
|
||||
|
||||
## <irq.h> — user-ISR кадрового прерывания (IM 2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user