; LAST UPDATE: 06.07.2025 savelij MAKEWINDOW MACRO TYPE CALL JUMPS.MakeWindow DB TYPE ENDM ; описатель окна W_MAIN MACRO X,Y,H,V DW X,Y,H,V ENDM ; текстовая строка ; BUILDDATE - значение любое, при наличии вставляется дата сборки W_TEXT MACRO OFFSETX,OFFSETY,COLOR,TXT,BUILDDATE DB WINSUBOBJ.TEXT DW OFFSETX,OFFSETY DB COLOR,TXT IFNB BUILDDATE TEXTDATE ENDIF DB 0 ENDM W_ADRTEXT MACRO OFFSETX,OFFSETY,COLOR,ADRTXT DB WINSUBOBJ.ADRTEXT DW OFFSETX,OFFSETY DB COLOR DW ADRTXT ENDM ; заполнение прямоугольной плоскости W_FILL MACRO OFFSETX,OFFSETY,H,V,COLOR DB WINSUBOBJ.FILL DW OFFSETX,OFFSETY,H,V DB COLOR ENDM ; отрисовка углублённой прямоугольной плоскости W_BORDER MACRO OFFSETX,OFFSETY,H,V DB WINSUBOBJ.BORDER DW OFFSETX,OFFSETY,H,V ENDM ; отрисовка выпуклой прямоугольной плоскости W_BUTTON MACRO OFFSETX,OFFSETY,H,V DB WINSUBOBJ.BUTTON DW OFFSETX,OFFSETY,H,V ENDM ; отрисовка кнопки с текстом (печать текста осуществляется с позиций x + 4, y + 1) W_BUTTONTEXT MACRO OFFSETX,OFFSETY,H,V,COLOR,TXT DB WINSUBOBJ.BUTTONTEXT DW OFFSETX,OFFSETY,H,V DB COLOR,TXT,0 ENDM ; отрисовка горизонтального разделителя W_HORIZLINE MACRO OFFSETX,OFFSETY,SIZE DB WINSUBOBJ.HORIZLINE DW OFFSETX,OFFSETY,SIZE ENDM ; отрисовка вертикального разделителя W_VERTICLINE MACRO OFFSETX,OFFSETY,SIZE DB WINSUBOBJ.VERTICLINE DW OFFSETX,OFFSETY,SIZE ENDM ; отрисовка левой кнопки скролбара W_ICONLEFTARROW MACRO OFFSETX,OFFSETY DB WINSUBOBJ.ICONLEFTARROW DW OFFSETX,OFFSETY ENDM ; отрисовка правой кнопки скролбара W_ICONRIGHTARROW MACRO OFFSETX,OFFSETY DB WINSUBOBJ.ICONRIGHTARROW DW OFFSETX,OFFSETY ENDM ; отрисовка верхней кнопки скролбара W_ICONUPARROW MACRO OFFSETX,OFFSETY DB WINSUBOBJ.ICONUPARROW DW OFFSETX,OFFSETY ENDM ; отрисовка нижней кнопки скролбара W_ICONDOWNARROW MACRO OFFSETX,OFFSETY DB WINSUBOBJ.ICONDOWNARROW DW OFFSETX,OFFSETY ENDM ; конец описателя окна W_END MACRO DB WINSUBOBJ.END ENDM ; восстановить данные под окном WINDOWCLOSE MACRO MAKEWINDOW WINSUBOBJ.RESTOREWIN W_END ENDM ; формирователь FLX заголовка, параметры: ; STRING (до 5 байт) - любой текст для заголовка ; OFFSET (WORD) - смещение в странице памяти для загрузки (0 - 0x3FFF) ; ENTRY (WORD) - смещение в странице памяти для запуска (0 - 0x3FFF) ; MODES (BYTE) - режим работы HDR_FLX MACRO STRING,OFFSET,ENTRY,MODES IFNB MODES IF MODES & FLXMODES.M_ADRORG ORG PluginOrgCPU1 ELSE ORG PluginOrgCPU3 ENDIF ELSE ORG PluginOrgCPU3 ENDIF DB "FLX" IFB STRING DB "-PLUG" ELSE IF STRLEN (STRING) = 5 DB STRING ELSE DB STRING DB 5 - STRLEN (STRING) DUP " " ENDIF ENDIF IFB OFFSET DW 0 ELSE DW OFFSET ENDIF IFB ENTRY DW 0 ELSE DW ENTRY ENDIF IFB MODES DB 0 ELSE DB MODES ENDIF DB 3 DUP 0 ENDM