Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн ноя 20, 2017 5:09 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 8 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 12:43 pm 
Не в сети

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

Вот что было:
Код:
  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 нечто вроде:

Код:
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:


Вернуться к началу
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 5:52 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 974
Это скорее всего не решает проблему, но после I_END принято помещать только неинициализированные данные, а инициализированные данные и код должны располагаться до I_END.


Вернуться к началу
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 5:55 pm 
Не в сети
Аватара пользователя

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


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


Вернуться к началу
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 7:31 pm 
IgorA писал(а):
2) Перед меткой stacktop должна быть память, выделяемая для стека. Эту область обычно ставят в середину между метками i_end и mem. Иногда и в самый конец отрезка, тогда mem и stacktop совпадают

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


Вернуться к началу
   
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 8:09 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Максимальная длина пути в Колибри 1024 байта включая завершающий ноль.


Вернуться к началу
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Чт сен 30, 2010 8:17 pm 
Serge писал(а):
Максимальная длина пути в Колибри 1024 байта включая завершающий ноль.

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


Вернуться к началу
   
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Пт мар 13, 2015 12:33 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Привет!

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

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

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


Вернуться к началу
 Заголовок сообщения: Re: Прикручивание скинов к panel
СообщениеДобавлено: Пт мар 13, 2015 12:41 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Пт июн 30, 2006 9:01 am
Сообщения: 1232
Dear Leency, You are talking to a copy-bot.
viewtopic.php?f=26&t=89&p=833&#p833

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 8 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB