Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 19, 2019 8:48 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 66 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
PostPosted: Fri Nov 01, 2013 1:32 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Наконец нашел время изучить. Сразу возник вопрос относительно обратной совместимости. Нужно либо согласовывать проектную документацию, либо использовать новые подфункции.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Fri Nov 01, 2013 9:01 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Mario_r4 wrote:
Наконец нашел время изучить. Сразу возник вопрос относительно обратной совместимости. Нужно либо согласовывать проектную документацию, либо использовать новые подфункции.

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

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

ВТОРОЙ ВАРИАНТ
прописать пока структуру с системными цветами в MACROS.INC, типо:
Code:
struct BOX
  left   dd ?
  top    dd ?
  width  dd ?
  height dd ?
ends

переписать приложения сначала на поддержку этой структуры
а потом уже делать подфункцию!
Это даст минимум риска по незаконченности работы с переписыванием приложений.


Top
   
PostPosted: Fri Nov 01, 2013 11:11 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Две подфункции:
- старая возвращает текущие цвета
- новая функция "Получить расширенную таблицу цветов" - возвращает старые+новые цвета.

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

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Nov 01, 2013 12:06 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
сделал таблицу совместимости, в принципе ничего не должно поломать.


Attachments:
1.txt [3.88 KiB]
Downloaded 149 times
Top
   
PostPosted: Thu Mar 13, 2014 5:05 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Предварительный набросок формата файла скинов.
Старался учитывать темы подобные этой
viewtopic.php?f=36&t=1612
Spoiler: Show
Code:
;=============================================================================;
; Спецификация 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: запостил тут, чтобы в чате не отвлекать народ да и не затерялось.


Top
   
PostPosted: Mon Mar 24, 2014 8:04 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Вдруг кому пригодится:
Зависимости 0 функции
Spoiler: Show
Code:
;--------------------------------------------+--------------+
;                 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: Show
Code:
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


Top
   
PostPosted: Mon Mar 24, 2014 8:23 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1620
Akyltist wrote:
Code:
          -> wakeup_osloop                   ; kernel.asm   ;

Code:
        mov     [redrawmouse_unconditional], 1
        call    wakeup_osloop

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

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Mar 24, 2014 8:47 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
CleverMouse wrote:
Akyltist wrote:
Code:
          -> wakeup_osloop                   ; kernel.asm   ;

Code:
        mov     [redrawmouse_unconditional], 1
        call    wakeup_osloop

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

Спасибо за разъяснение, помоему оно даже было где то в исходниках, я к сожалению указывал чисто физическое расположение кода, так как с особенностью устройства ядра - пока только разбираюсь!


Top
   
PostPosted: Tue Apr 01, 2014 9:48 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
ТЕСТ РАСШИРЕННОЙ ТАБЛИЦЫ ЦВЕТОВ

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

Code:
/rd/1/Color

Image

Kernel API не менялся.
Spoiler: Show
Code:
    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: Show
Code:
    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 ; - Зарезервированно.           


Top
   
PostPosted: Tue Apr 01, 2014 11:08 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Отлично. Круто, что дело движется :)

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

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Apr 01, 2014 11:13 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Leency wrote:
Отлично. Круто, что дело движется :)

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

Покажи плз, возможно не правильно в скин просто забил, т.к. старые цвета старался не трогать!
Програмку допишу!


Top
   
PostPosted: Tue Apr 01, 2014 11:42 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Скрин.


Attachments:
JB4aklA.png
JB4aklA.png [ 78.15 KiB | Viewed 3033 times ]

_________________
Через тернии к звездам
Top
   
PostPosted: Wed Apr 02, 2014 9:38 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Leency wrote:
Скрин.

Спасибо, все поправил. Да неправильно забиндил. Вместо Panel_Frame воткнул туда Panel_Body!
Все ссылки в том же сообщении, буду допиливать приложение для наглядности!


Top
   
PostPosted: Sat Apr 05, 2014 8:28 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Допилил приложение:
Spoiler: Show
Image

1) подписаны цвета
2) сделал разбиение на 4 группы
3) все отрисовано системными цветами
4) кнопки реагируют на "фокус", отрисованы системными цветами, за исключением стрелок 6 на 10 пикселей.

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


Top
   
PostPosted: Sun Apr 06, 2014 1:04 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
За подсветку < / > при наведении спасибо. Но ты не понял, что я имел ввиду.

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

_________________
Через тернии к звездам


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 66 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited