Page 2 of 5

Re: Новая таблица системных цветов.

Posted: Fri Nov 01, 2013 1:32 am
by Mario_r4
Наконец нашел время изучить. Сразу возник вопрос относительно обратной совместимости. Нужно либо согласовывать проектную документацию, либо использовать новые подфункции.

Re: Новая таблица системных цветов.

Posted: Fri Nov 01, 2013 9:01 am
by Akyltist
Mario_r4 wrote:Наконец нашел время изучить. Сразу возник вопрос относительно обратной совместимости. Нужно либо согласовывать проектную документацию, либо использовать новые подфункции.
ПЕРВЫЙ ВАРИАНТ:
- с тебя новая подфункция, как она будет устроена, будет ли она возвращать всю таблицу, или кусками (WIN,BTN,3D,ELEM) или оба варианта - решай сам, пока оставляешь старую подфункцию. Собираешь дефолтный скин (обзовем его А).
- с меня перевод программ (на fasm, c--, masm) на новую подфункцию, все что смогу изменю (ночная сборка, ISO).
- там смотрим уже программы сорцов которых нету, или с которыми я не справлюсь и решаем как быть с ними, если софтины не важные или не сложные, то нужно будет выпилить старую подфункцию и выпилить это из скина. Если так то следом пойде переделывать скины (обзовем их Б).
- Если обратную совместимость будет решено оставить, то пойду переделывать скины (типа А).

PS: поначалу чисто дефолтный скин, чтобы 2 раза их не перепиливать.

ВТОРОЙ ВАРИАНТ
прописать пока структуру с системными цветами в MACROS.INC, типо:

Code: Select all

struct BOX
  left   dd ?
  top    dd ?
  width  dd ?
  height dd ?
ends
переписать приложения сначала на поддержку этой структуры
а потом уже делать подфункцию!
Это даст минимум риска по незаконченности работы с переписыванием приложений.

Re: Новая таблица системных цветов.

Posted: Fri Nov 01, 2013 11:11 am
by Leency
Две подфункции:
- старая возвращает текущие цвета
- новая функция "Получить расширенную таблицу цветов" - возвращает старые+новые цвета.

В итоге, совместимость будет сохранена.

Re: Новая таблица системных цветов.

Posted: Fri Nov 01, 2013 12:06 pm
by Akyltist
сделал таблицу совместимости, в принципе ничего не должно поломать.

Re: Новая таблица системных цветов.

Posted: Thu Mar 13, 2014 5:05 pm
by Akyltist
Предварительный набросок формата файла скинов.
Старался учитывать темы подобные этой
viewtopic.php?f=36&t=1612
Spoiler:

Code: Select all

;=============================================================================;
; Спецификация New Skin для операционной системы Kolibri                      ;
;=============================================================================;

; header ---------------------------------------------------------------------;
struct data_header
    header       db 'KSKIN'                                           ; +5    ;
    version      dw ?                                                 ; +7    ;
    null         db 0                                                 ; +8    ;
ends

; data -----------------------------------------------------------------------;
struct SKIN_DATA
    win.face     dd ? ; - Фон обводки активного окна.                 ; +12   ;
    win.inface   dd ? ; - Фон обводки неактивного окна.               ; +16   ;
    win.frame    dd ? ; - Цвет внешней рамки активного окна.          ; +20   ;
    win.inframe  dd ? ; - Цвет внешней рамки неактивного окна.        ; +24   ;
    win.border   dd ? ; - Цвет внутренней рамки активного окна.       ; +28   ;
    win.inborder dd ? ; - Цвет внутренней рамки неактивного окна.     ; +32   ;
    win.body     dd ? ; - Фон клиентской части активного окна.        ; +36   ;
    win.title    dd ? ; - Цвет текста полосы заголовка.               ; +40   ;
    win.text     dd ? ; - Цвет текста в рабочей области окна.         ; +44   ;
    win.graytext dd ? ; - Цвет неактивного текста.                    ; +48   ;
    child.body   dd ? ; - Фон дочерних потоков и меню приложения.     ; +52   ;
    child.text   dd ? ; - Цвет текста дочерних потоков и меню.        ; +56   ;
    panel.body   dd ? ; - Фон панелей приложения.                     ; +60   ;
    panel.text   dd ? ; - Цвет текста панелей приложения.             ; +64   ;
    hint.body    dd ? ; - Фон подсказки.                              ; +68   ;
    hint.text    dd ? ; - Цвет текста подсказки.                      ; +72   ;
    btn.face     dd ? ; - Фон кнопки.                                 ; +76   ;
    btn.inface   dd ? ; - Фон неактивной кнопки.                      ; +80   ;
    btn.fcface   dd ? ; - Фон кнопки при наведении.                   ; +84   ;
    btn.frame    dd ? ; - Цвет рамки кнопки.                          ; +88   ;
    btn.inframe  dd ? ; - Цвет рамки неактивной кнопки.               ; +92   ;
    btn.fcframe  dd ? ; - Цвет рамки кнопки при навдении.             ; +96   ;
    btn.text     dd ? ; - Цвет текста кнопки.                         ; +100  ;
    btn.intext   dd ? ; - Цвет текста неактивной кнопки.              ; +104  ;
    btn.fctext   dd ? ; - Цвет текста кнопки при наведении.           ; +108  ;
    3d.face      dd ? ; - Основной цвет наложения тени (скролл).      ; +112  ;
    3d.dark      dd ? ; - Теневая обводка.                            ; +116  ;
    3d.light     dd ? ; - Световая обводка.                           ; +120  ;
    3d.shadow    dd ? ; - Цвет тени для неактивных элементов.         ; +124  ;
    gui.face     dd ? ; - Фон элементов.                              ; +128  ;
    gui.inface   dd ? ; - Фон неактивных элементов.                   ; +132  ;
    gui.fcface   dd ? ; - Фон элементов при наведении.                ; +136  ;
    gui.frame    dd ? ; - Рамка элемента.                             ; +140  ;
    gui.inframe  dd ? ; - Рамка неактивного элемента.                 ; +144  ;
    gui.fcframe  dd ? ; - Рамка элемента при наведении.               ; +148  ;
    gui.text     dd ? ; - Цвет текста элемента.                       ; +152  ;
    gui.intext   dd ? ; - Цвет текста неактивного элемента.           ; +156  ;
    gui.fctext   dd ? ; - Цвет текста элемента при наведении.         ; +160  ;
    res.a        dd ? ; - Зарезервированно.                           ; +164  ;
    res.b        dd ? ; - Зарезервированно.                           ; +168  ;
    res.c        dd ? ; - Зарезервированно.                           ; +172  ;
    res.d        dd ? ; - Зарезервированно.                           ; +176  ;
    res.e        dd ? ; - Зарезервированно.                           ; +180  ;
ends

; params ---------------------------------------------------------------------;
struct SKIN_PARAMS
    use.3d       db 0 ; - Использовать тени для элементов. (0 выкл)   ; +181  ;
    use.noangle  db 0 ; - Не рисовать угловые пиксели элементов.      ; +182  ;
    use.winrad   db 0 ; - Использовать скругленные края у окна.       ; +183  ;
                      ;   0 - нет; 1 - псевдо; 2 - альфа              ;       ;
    use.focus    db 0 ; - Отрисовывать наведение на элементы.         ; +184  ;
    use.face     db 1 ; - Использовать ли обводку вокруг окна (1 вкл) ; +185  ;
    face.w       db 3 ; - Ширина обводки                              ; +186  ;
    use.reserv   dw ? ; - Зарезервированно                            ; +188  ;
ends

; title ----------------------------------------------------------------------;
struct SKIN_TITLE
    text.align   db 0 ; 0 - слева, 1 - середина, 2 - справа           ; +189  ; 
    text.x       dw ? ; Смещение относительно положения в пикселях.   ; +191  ;
    text.y       dw ? ; Смещение относительно положения в пикселях.   ; +193  ;
    btn.align    db 1 ; 0 - слева, 1 - справа;                        ; +194  ;
    btn.w        dw ? ; Ширина системных кнопок.                      ; +196  ;
    btn.h        dw ? ; Высота системных кнопок.                      ; +198  ;
    btn.x        dw ? ; Смещение относительно положения в пикселях.   ; +200  ;
    btn.y        dw ? ; Смещение относительно положения в пикселях.   ; +202  ;
    btn.step     db ? ; Расстояние между системными кнопками.         ; +203  ;
    height       db ? ; Высота заголовка.                             ; +204  ;
    alpha        dd ? ; Цвет псевдо прозрачности                      ; +208  ;
    reserved     dd ? ; Зарезервированно.                             ; +212  ;
ends

; image ----------------------------------------------------------------------;
struct SKIN_ANGLE
    ltop.w       db ? ; Ширина левого верхнего изображения            ; +213  ;
    ltop.h       db ? ; Высота левого верхнего изображения            ; +214  ;
    lbot.w       db ? ; Ширина левого нижнего изображения             ; +215  ;
    lbot.h       db ? ; Высота левого нижнего изображения             ; +216  ;
    rtop.w       db ? ; Ширина правого верхнего изображения           ; +217  ;
    rtop.h       db ? ; Высота правого верхнего изображения           ; +218  ;
    rbot.w       db ? ; Ширина правого нижнего изображения            ; +219  ;
    rbot.h       db ? ; Высота правого нижнего изображения            ; +220  ;
ends

; buttons --------------------------------------------------------------------;
struct SKIN_BTN
   file 'close.raw'  ; btn.w * btn.h * 3 (BBGGRR) активное                    ;
   file 'iclose.raw' ; btn.w * btn.h * 3 (BBGGRR) неактивное                  ;
   file 'fclose.raw' ; btn.w * btn.h * 3 (BBGGRR) при наведении               ;

   file 'full.raw'   ; btn.w * btn.h * 3 (BBGGRR) активное                    ;
   file 'ifull.raw'  ; btn.w * btn.h * 3 (BBGGRR) неактивное                  ;
   file 'ffull.raw'  ; btn.w * btn.h * 3 (BBGGRR) при наведении               ;

   file 'mini.raw'   ; btn.w * btn.h * 3 (BBGGRR) активное                    ;
   file 'imini.raw'  ; btn.w * btn.h * 3 (BBGGRR) неактивное                  ;
   file 'fmini.raw'  ; btn.w * btn.h * 3 (BBGGRR) при наведении               ;
   ; ЕСЛИ  SKIN_PARAMS.use.winrad = 2 (полноценная альфа)                     ;
   ; ТО    btn.w * btn.h * 4 (RRGGBBAA)                                       ;
ends

; images ---------------------------------------------------------------------;
struct SKIN_IMAGE
   file 'ltop.raw'   ; ltop.w * ltop.h * 3 (BBGGRR) активное                  ;
   file 'lbot.raw'   ; lbot.w * lbot.h * 3 (BBGGRR) активное                  ;
   file 'rtop.raw'   ; rtop.w * rtop.h * 3 (BBGGRR) активное                  ;
   file 'rbot.raw'   ; rbot.w * rbot.h * 3 (BBGGRR) активное                  ;
   file 'iltop.raw'  ; iltop.w * iltop.h * 3 (BBGGRR) неактивное              ;
   file 'ilbot.raw'  ; ilbot.w * ilbot.h * 3 (BBGGRR) неактивное              ;
   file 'irtop.raw'  ; irtop.w * irtop.h * 3 (BBGGRR) неактивное              ;
   file 'irbot.raw'  ; irbot.w * irbot.h * 3 (BBGGRR) неактивное              ;
   ; ЕСЛИ  SKIN_PARAMS.use.winrad = 2 (полноценная альфа)                     ;
   ; ТО    xxxx.w * xxxx.h * 4 (RRGGBBAA)                                     ;
ends
;=============================================================================;
Идеи, замечания, косяки мнения приветствуются.
PS: запостил тут, чтобы в чате не отвлекать народ да и не затерялось.

Re: Новая таблица системных цветов.

Posted: Mon Mar 24, 2014 8:04 pm
by Akyltist
Вдруг кому пригодится:
Зависимости 0 функции
Spoiler:

Code: Select all

;--------------------------------------------+--------------+
;                 FUNCTION                   |     FILE     |
;--------------------------------------------+--------------+
syscall_draw_window                          ; window.inc   ;
     |-> window._.sys_set_window             ; window.inc   ;
          -> wakeup_osloop                   ; kernel.asm   ;
          -> window._.check_window_position  ; window.inc   ;
          -> window._.set_window_clientbox   ; window.inc   ;
          -> waredraw                        ; window.inc   ;
               -> window._.check_window_draw ; window.inc   ;
               -> window._.window_activate   ; window.inc   ;
               -> window._.set_screen        ; window.inc   ;
                    -> read_process_memory   ; taskman.inc  ;
          -> calculatescreen                 ; window.inc   ;
               -> window._.set_screen        ; window.inc   ;
                    -> read_process_memory   ; taskman.inc  ;
     |-> window._.draw_window_caption.2      ; window.inc   ;
          -> dtext_asciiz_esi                ; font.inc     ;
     |-> drawwindow_I                        ; window.inc   ;
          -> draw_rectangle                  ; window.inc   ;
               -> __sys_draw_line            ; vesa20.inc   ;
          -> drawwindow_I_caption            ; window.inc   ;
               -> __sys_draw_line            ; vesa20.inc   ;
          -> vesa20_drawbar                  ; vesa20.inc   ;
     |-> __sys_draw_pointer                  ; mousedrv.inc ;
     |-> drawwindow_III                      ; window.inc   ;
          -> draw_rectangle                  ; window.inc   ;
               -> __sys_draw_line            ; vesa20.inc   ;
          -> drawwindow_III_caption          ; window.inc   ;
               -> __sys_draw_line            ; vesa20.inc   ;
          -> vesa20_drawbar                  ; vesa20.inc   ;
     |-> drawwindow_IV                       ; skincode.inc ;
          -> draw_rectangle                  ; window.inc   ;
               -> __sys_draw_line            ; vesa20.inc   ;
          -> drawwindow_IV_caption           ; skincode.inc ;
               -> sys_putimage.forced        ; kernel.asm   ;
          -> vesa20_drawbar                  ; vesa20.inc   ;
;============================================================
Текущий формат скинов без купюр и макросов:
Spoiler:

Code: Select all

Signature            dd 'SKIN'     ;+4
Version              dd 1          ;+8

Params               dd 0x14       ;+12  offset dd*5  = 20
Buttons              dd 0x64       ;+16  offset dd*25 = 100
Bitmaps              dd 0x80       ;+20  offset dd*32 = 128

; params
height               dd 21         ;+24
margins.right        dw 43         ;+26
margins.left         dw 5          ;+28
margins.top          dw 1          ;+30
margins.bottom       dw 1          ;+32

active.binner        dd 0xE1E1E1   ;+36
active.bouter        dd 0xA1A1A1   ;+40
active.bframe        dd 0xE1E1E1   ;+44

inactive.binner      dd 0xE1E1E1   ;+48
inactive.bouter      dd 0xA1A1A1   ;+52
inactive.bframe      dd 0xE1E1E1   ;+56

dtpsize              dd 40         ;+60

sc.frame             dd 0x003E3635 ;+64
sc.grab              dd 0x00524947 ;+68
sc.grab_button       dd 0x00524947 ;+72
sc.grab_button_text  dd 0x00FFFFFF ;+76
sc.grab_text         dd 0x00444444 ;+80
sc.work              dd 0x00E1E1E1 ;+84
sc.work_button       dd 0x00EBEBEB ;+88
sc.work_button_text  dd 0x002F2F2F ;+92
sc.work_text         dd 0x00000000 ;+96
sc.work_graph        dd 0x00635A56 ;+100

BUTTON_1             dd 1          ;+104
close.left           dw -18        ;+106
close.top            dw 4          ;+108
close.right          dw 13         ;+110
close.bottom         dw 14         ;+112

BUTTON_2             dd 2          ;+116
mini.left            dw -36        ;+118
mini.top             dw 4          ;+120
mini.right           dw 13         ;+122
mini.bottom          dw 14         ;+124

but_common           dd 0          ;+128

offset.1.a           dw 1          ;+130  id
offset.1.b           dw 1          ;+132  active
offset.1.c           dw 0xb4       ;+134  180
offset.1.d           dw 0          ;+136  reserved

offset.2.a           dw 1          ;+138  id
offset.2.b           dw 0          ;+140  inactive
offset.2.c           dw 0x013c     ;+142  316
offset.2.d           dw 0          ;+144  reserved

offset.3.a           dw 2          ;+146  id
offset.3.b           dw 1          ;+148  active
offset.3.c           dw 0x01c4     ;+150  452
offset.3.d           dw 0          ;+152  reserved

offset.4.a           dw 2          ;+154  id
offset.4.b           dw 0          ;+156  inactive
offset.4.c           dw 0x1774     ;+158  6004
offset.4.d           dw 0          ;+160  reserved

offset.5.a           dw 3          ;+162  id
offset.5.b           dw 1          ;+164  active
offset.5.c           dw 0x2d24     ;+166  11556
offset.5.d           dw 0          ;+168  reserved

offset.6.a           dw 3          ;+170  id
offset.6.b           dw 0          ;+172  inactive
offset.6.c           dw 0x2d6c     ;+174  11628
offset.6.d           dw 0          ;+176  reserved

ofs_common           dd 0          ;+180

image.1.w            dd 2          ;+182
image.1.h            dd 0x15       ;+184
file 'left1.raw'                   ;+184+126=+310
image.1.e            dw 0x9090     ;+312  (126 mod 4)

image.2.w            dd 2          ;+316
image.2.h            dd 0x15       ;+320
file 'left2.raw'                   ;+320+126=446
image.2.e            dw 0x9090     ;+448  (126 mod 4)

image.3.w            dd 88         ;+452
image.3.h            dd 0x15       ;+456
file 'right1.raw'                  ;+456+5544=+6000

image.4.w            dd 88         ;+6004
image.4.h            dd 0x15       ;+6008
file 'right2.raw'                  ;+6008+5544=+11552

image.5.w            dd 1          ;+11556
image.5.h            dd 0x15       ;+11560
file 'center1.raw'                 ;+11560+63=+11623
image.5.e            db 0x90       ;+11624  (63 mod 4)

image.6.w            dd 1          ;+11628
image.6.h            dd 0x15       ;+11632
file 'center2.raw'                 ;+11632+63=+11695
image.6.e            db 0x90       ;+11696  (63 mod 4)
                                   ;=11700

Re: Новая таблица системных цветов.

Posted: Mon Mar 24, 2014 8:23 pm
by CleverMouse
Akyltist wrote:

Code: Select all

          -> wakeup_osloop                   ; kernel.asm   ;

Code: Select all

        mov     [redrawmouse_unconditional], 1
        call    wakeup_osloop
Логически это вызов redrawmouse из mousedrv.inc посредством osloop->__sys_draw_pointer. Код так организован, чтобы отрисовкой курсора всегда занимался главный поток, один из вариантов синхронизации, предотвращающий одновременную отрисовку одного и того же из нескольких потоков.

Re: Новая таблица системных цветов.

Posted: Mon Mar 24, 2014 8:47 pm
by Akyltist
CleverMouse wrote:
Akyltist wrote:

Code: Select all

          -> wakeup_osloop                   ; kernel.asm   ;

Code: Select all

        mov     [redrawmouse_unconditional], 1
        call    wakeup_osloop
Логически это вызов redrawmouse из mousedrv.inc посредством osloop->__sys_draw_pointer. Код так организован, чтобы отрисовкой курсора всегда занимался главный поток, один из вариантов синхронизации, предотвращающий одновременную отрисовку одного и того же из нескольких потоков.
Спасибо за разъяснение, помоему оно даже было где то в исходниках, я к сожалению указывал чисто физическое расположение кода, так как с особенностью устройства ядра - пока только разбираюсь!

Re: Новая таблица системных цветов.

Posted: Tue Apr 01, 2014 9:48 am
by Akyltist
ТЕСТ РАСШИРЕННОЙ ТАБЛИЦЫ ЦВЕТОВ

http://akyltist.ucoz.org/kolibri/kolibri.img

Code: Select all

/rd/1/Color
Image

Kernel API не менялся.
Spoiler:

Code: Select all

    mov     eax,48                        ; Функция 48 - стили отображения окон
    mov     ebx,3                         ; Подфункция 3 - получить стандартные цвета окон.
    mov     ecx,sc                        ; Указатель на буфер размером edx байт, под структуру
    mov     edx,192                       ; Размер таблицы цветов
    int     0x40                          ; Прерывание

struc system_colors
{
__child_body   dd child_body
__3d_face      dd 3d_face
__3d_dark      dd 3d_dark
__3d_light     dd 3d_light
__win_title    dd win_title
__win_body     dd win_body
__btn_face     dd btn_face
__btn_text     dd btn_text

__win_text     dd win_text
__panel_body   dd panel_body
__win_face     dd win_face
__win_inface   dd win_inface
__win_frame    dd win_frame
__win_inframe  dd win_inframe
__win_border   dd win_border
__win_inborder dd win_inborder

__win_graytext dd win_graytext
__child_frame  dd child_frame
__child_text   dd child_text
__panel_frame  dd panel_frame
__panel_text   dd panel_text
__hint_frame   dd hint_frame
__hint_body    dd hint_body
__hint_text    dd hint_text

__btn_inface   dd btn_inface
__btn_fcface   dd btn_fcface
__btn_frame    dd btn_frame
__btn_inframe  dd btn_inframe
__btn_fcframe  dd btn_fcframe
__btn_intext   dd btn_intext
__btn_fctext   dd btn_fctext
__3d_shadow    dd 3d_shadow

__gui_face     dd gui_face
__gui_inface   dd gui_inface
__gui_fcface   dd gui_fcface
__gui_frame    dd gui_frame
__gui_inframe  dd gui_inframe
__gui_fcframe  dd gui_fcframe
__gui_text     dd gui_text
__gui_intext   dd gui_intext

__gui_fctext   dd gui_fctext
__gui_select   dd gui_select
__res_var2     dd reserved
__res_var3     dd reserved
__res_var4     dd reserved
__res_var5     dd reserved
__res_var6     dd reserved
__res_var7     dd reserved
}
struct system_colors
Вероятно одна из последних редакций таблицы цветов (ВАШИ ЗАМЕЧАНИЯ!)
Spoiler:

Code: Select all

    win_face     equ 0xE1E1E1 ; - Фон обводки активного окна.                 ; 1
    win_inface   equ 0xE1E1E1 ; - Фон обводки неактивного окна.               ; 2
    win_frame    equ 0x204962 ; - Цвет внешней рамки активного окна.          ; 3
    win_inframe  equ 0xA1A1A1 ; - Цвет внешней рамки неактивного окна.        ; 4
    win_border   equ 0xE1E1E1 ; - Цвет внутренней рамки активного окна.       ; 5
    win_inborder equ 0xE1E1E1 ; - Цвет внутренней рамки неактивного окна.     ; 6
    win_body     equ 0xE4DFE1 ; - Фон клиентской части активного окна.        ; 7
    win_title    equ 0x2F2F2F ; - Цвет текста полосы заголовка.               ; 8
    win_text     equ 0x000000 ; - Цвет текста в рабочей области окна.         ; 9
    win_graytext equ 0x666666 ; - Цвет неактивного текста.                    ; 0
    child_frame  equ 0x204962 ; - Цвет внешней рамки дочерних потоков         ; 1
    child_body   equ 0xD4D4D4 ; - Фон дочерних потоков и меню приложения.     ; 2
    child_text   equ 0x3C415B ; - Цвет текста дочерних потоков и меню.        ; 3
    panel_frame  equ 0x94AECE ; - Цвет внешней рамки панелей                  ; 4
    panel_body   equ 0xE4DFE1 ; - Фон панелей приложения.                     ; 5
    panel_text   equ 0x2F2F2F ; - Цвет текста панелей приложения.             ; 6
    hint_frame   equ 0x94AECE ; - Цвет внешней рамки подсказок                ; 7
    hint_body    equ 0xFAF8FA ; - Фон подсказки.                              ; 8
    hint_text    equ 0x3C415B ; - Цвет текста подсказки.                      ; 9
    btn_face     equ 0xEFEBEF ; - Фон кнопки.                                 ; 0
    btn_inface   equ 0xF4F2F4 ; - Фон неактивной кнопки.                      ; 1
    btn_fcface   equ 0xEFEBEF ; - Фон кнопки при наведении.                   ; 2
    btn_frame    equ 0x94AECE ; - Цвет рамки кнопки.                          ; 3
    btn_inframe  equ 0xB9CBE0 ; - Цвет рамки неактивной кнопки.               ; 4
    btn_fcframe  equ 0x94AECE ; - Цвет рамки кнопки при наведении.            ; 5
    btn_text     equ 0x2F2F2F ; - Цвет текста кнопки.                         ; 6
    btn_intext   equ 0x5F5F5F ; - Цвет текста неактивной кнопки.              ; 7
    btn_fctext   equ 0x222222 ; - Цвет текста кнопки при наведении.           ; 8
    3d_face      equ 0xCED0D0 ; - Основной цвет наложения тени (скролл).      ; 9
    3d_dark      equ 0xC7C7C7 ; - Теневая обводка.                            ; 0
    3d_light     equ 0xFFFFFF ; - Световая обводка.                           ; 1
    3d_shadow    equ 0xFFFFFF ; - Цвет тени для неактивных элементов.         ; 2
    gui_face     equ 0xFAF8FA ; - Фон элементов.                              ; 3
    gui_inface   equ 0xF6F3F6 ; - Фон неактивных элементов.                   ; 4
    gui_fcface   equ 0xFAF8FA ; - Фон элементов при наведении.                ; 5
    gui_frame    equ 0x94AECE ; - Рамка элемента.                             ; 6
    gui_inframe  equ 0xB9CBE0 ; - Рамка неактивного элемента.                 ; 7
    gui_fcframe  equ 0x94AECE ; - Рамка элемента при наведении.               ; 8
    gui_text     equ 0x2F2F2F ; - Цвет текста элемента.                       ; 9
    gui_intext   equ 0x5F5F5F ; - Цвет текста неактивного элемента.           ; 0
    gui_fctext   equ 0x2F2F2F ; - Цвет текста элемента при наведении.         ; 1
    gui_select   equ 0xC7C9C9 ; - Цвет фона полосы выделения текста .         ; 2
    reserved     equ 0x000000 ; - Зарезервированно.            

Re: Новая таблица системных цветов.

Posted: Tue Apr 01, 2014 11:08 am
by Leency
Отлично. Круто, что дело движется :)

1. Цвета панелей исчезли. Может быть их можно как-то пофиксить, чтобы не ломать совместимость?
2. Можно попросить написать программу для демонстрации всех цветов? :)

Re: Новая таблица системных цветов.

Posted: Tue Apr 01, 2014 11:13 am
by Akyltist
Leency wrote:Отлично. Круто, что дело движется :)

1. Цвета панелей исчезли. Может быть их можно как-то пофиксить, чтобы не ломать совместимость?
2. Можно попросить написать программу для демонстрации всех цветов? :)
Покажи плз, возможно не правильно в скин просто забил, т.к. старые цвета старался не трогать!
Програмку допишу!

Re: Новая таблица системных цветов.

Posted: Tue Apr 01, 2014 11:42 am
by Leency
Скрин.

Re: Новая таблица системных цветов.

Posted: Wed Apr 02, 2014 9:38 am
by Akyltist
Leency wrote:Скрин.
Спасибо, все поправил. Да неправильно забиндил. Вместо Panel_Frame воткнул туда Panel_Body!
Все ссылки в том же сообщении, буду допиливать приложение для наглядности!

Re: Новая таблица системных цветов.

Posted: Sat Apr 05, 2014 8:28 pm
by Akyltist
Допилил приложение:
Spoiler:Image
1) подписаны цвета
2) сделал разбиение на 4 группы
3) все отрисовано системными цветами
4) кнопки реагируют на "фокус", отрисованы системными цветами, за исключением стрелок 6 на 10 пикселей.

ЯДРО: http://akyltist.ucoz.org/kolibri/kolibri.img
Приложение: "Color" на "/rd/1/color"

Re: Новая таблица системных цветов.

Posted: Sun Apr 06, 2014 1:04 pm
by Leency
За подсветку < / > при наведении спасибо. Но ты не понял, что я имел ввиду.

Смотри: добавлено много новых цветов и я, и другие кто будет создавать или модифицировать скины слабо представляем как и где эти цвета должны использоваться. У цветов есть описание - да, но его не достаточно: нужна программа пустышка, с примером использования этих цветов. Т.е. программа ничего не делающая, а просто содержащая в себе элементы: обычная кнопка, неактивная кнопка, панель, editbox, текст, текст с тенью. Ну вроде, как программа "desktop" сейчас. На этой программе можно будет тестировать создаваемые скины.
Это просто пожелание, извини, если напрягаю.