Board.KolibriOS.org
http://board.kolibrios.org/

Прикручивание скинов к panel
http://board.kolibrios.org/viewtopic.php?f=26&t=1569
Page 1 of 1

Author:  SoUrcerer [ Thu Sep 30, 2010 12:43 pm ]
Post subject:  Прикручивание скинов к panel

Пытался прикрутить отображение png вместо кнопки меню и кнопок на панели. Жаль, что у меня туго с ассемблером :( png загружается и даже рисуется - один раз, а потом у приложения page fault. Почти уверен, все потому что, я не смог разобраться с выделением памяти в @panel.
Если не трудно, подскажите пожалуйста, куда воткнуть данные :(

Вот что было:
Code:
  dd   START       ; program start
  dd   I_END       ; program image size
  dd   0xA000       ; reguired amount of memory - 10 Kb
  dd   0xA000       ; esp
  dd   0x0,0x0       ; param, icon

......

I_END:
screen_size:
  .height dw ?
  .width  dw ?
this_slot      dd 0         ; Slot of this process
max_slot       dd 255
system_colours   system_colors ; rd 10
app_list rd 50
alt_tab_list   rd   256*2
alt_tab_list_size dd   ?
process_info_buffer  rb 1024
procinfo_for_detect  rb 1024
tictable:
  rd 256
  rb 256
detect_stack:
   rb   256
ctx_menu_stack:
panel_x_pos   rd   1
panel_y_pos   rd   1
last_active_window   dd   0
prev_active_window   dd   0
active_window_changed   dd   0
app_tab_count      dd   0
image:



А в примерах по libimg нечто вроде:

Code:
dd   start       ; program start
dd   i_end       ; program image size
dd   mem       ; reguired amount of memory
dd stacktop
dd 0x0
dd sys_path
...
i_end:
    rb 1024
stacktop:
    sys_path rb 4096
    file_name:
        rb 4096
    plugin_path:
        rb 4096
    openfile_path:
        rb 4096
    filename_area:
        rb 256
mem:

Author:  Asper [ Thu Sep 30, 2010 5:52 pm ]
Post subject:  Re: Прикручивание скинов к panel

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

Author:  IgorA [ Thu Sep 30, 2010 5:55 pm ]
Post subject:  Re: Прикручивание скинов к panel

1) По идее вся область между метками i_end и mem это данные, которые в бинарник не включаются но выделяются в процессе запуска приложения
т.е. men всегда в самом конце файла
2) Перед меткой stacktop должна быть память, выделяемая для стека. Эту область обычно ставят в середину между метками i_end и mem. Иногда и в самый конец отрезка, тогда mem и stacktop совпадают
3) Если sys_path был установлен в 0, значит он в программе не использовался, это указатель по которому будет записан путь к открытому файлу.


Я не системный программист, может я в чем-то ошибаюсь. Так я это понимаю.

Author:  Mario [ Thu Sep 30, 2010 7:31 pm ]
Post subject:  Re: Прикручивание скинов к panel

IgorA wrote:
2) Перед меткой stacktop должна быть память, выделяемая для стека. Эту область обычно ставят в середину между метками i_end и mem. Иногда и в самый конец отрезка, тогда mem и stacktop совпадают

Все правильно сказал, лишь поясню - стек он растет из старших адресов к младшим. Следовательно начальная метка всегда в конец области ставится. В том числе и стеки потоков в 51 функции. Я сам в свое время этого не знал (лет 7 назад, пока товарищ Trans на первом русском форуме Menuet глаза не раскрыл) и накалывался.

Author:  Serge [ Thu Sep 30, 2010 8:09 pm ]
Post subject:  Re: Прикручивание скинов к panel

Максимальная длина пути в Колибри 1024 байта включая завершающий ноль.

Author:  Mario [ Thu Sep 30, 2010 8:17 pm ]
Post subject:  Re: Прикручивание скинов к panel

Serge wrote:
Максимальная длина пути в Колибри 1024 байта включая завершающий ноль.

Стоп - я чего-то не знаю? Кто-то урезал специально? Вроде как планировалось столько, сколько есть помещать, а то это получается только файлы и директории 4-й вложенности при максимальной длине имени.
По крайней мере я все свои буферы на 4 Кб делаю про запас.

Author:  Leency [ Fri Mar 13, 2015 12:33 pm ]
Post subject:  Re: Прикручивание скинов к panel

Привет!

Изначально это была готическая буква М, смотри тут первый скрин http://kolibri-n.org/inf/let_it_fly/index

Сейчас Гугл выдает такие картинки https://www.google.com.ua/search?q=menu ... uetos+logo

Author:  hidnplayr [ Fri Mar 13, 2015 12:41 pm ]
Post subject:  Re: Прикручивание скинов к panel

Dear Leency, You are talking to a copy-bot.
viewtopic.php?f=26&t=89&p=833&#p833

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/