Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jan 29, 2020 5:39 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 47 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
 Post subject:
PostPosted: Wed Mar 29, 2006 11:38 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Veliant, выложи где-нибудь свои скины для скачивания.


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 11:40 am 
Offline

Joined: Thu Jan 26, 2006 8:47 pm
Posts: 284
Щас выложу. У меня нова трабла хотел сделать панель цвета A60000(красный), но заместо этого панель сверху нужного цвета, а бОльшая часть - голубая. Из-за чего так?
P.S.
И ещё:
если использовать последний скин то придется некоторые проги переделать т.к. они рисуют компоненты прямо по заголовку (т.к. он шире обычного)


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 11:45 am 
Offline

Joined: Wed May 25, 2005 8:52 am
Posts: 147
Попоробуй цвет без нулевых компонетов, скажем A60101


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 11:48 am 
Offline

Joined: Thu Jan 26, 2006 8:47 pm
Posts: 284
http://knikolenko.narod.ru/kolibri/SKINS.rar


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 11:49 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Тоже сталкивался с таким глюком. Для панели можно выставить не любой цвет :(


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 12:12 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Глюки с цветом панели связаны, видимо, с тем, что компоненты цвета уменьшаются/увеличиваются не по отдельности, а все вместе.
Пример кода:
Code:
        sub eax,0x00010101

В таком случае, если в EAX находилось число 0x00A60000, то станет оно равным 0x00A4FEFF, что, естественно, больше похоже на синий/голубой, а не на красный.
Чтобы исправить ситуацию, обычно делают, например, так:
Code:
        mov ecx,3
    @@: dec al
        jns .lp1
        xor al,al
  .lp1: ror eax,8
        loop @b
        shr eax,8


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 6:33 pm 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
подскажите как можно панельку пошире сделать??? если конечно это возможно...


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 6:36 pm 
Offline

Joined: Thu Jan 26, 2006 8:47 pm
Posts: 284
В @Panel наверно где то зарыто. скорее всего рядом с цветом.


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 7:20 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
AqwAS
Ты имеешь в виду по высоте? Пока что это невозможно. Ты, конечно, можешь увеличить высоту окна панели, но нижняя часть при этом отрисовываться не будет и панель будет выглядеть такой же узкой


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 7:20 pm 
mike.dld
Я спрашивал не тебя. Соответственно отвечать должен был автор.
И хватит уже играть роль суперцензора. Вот откроешь сайт http://www.kolibrios.org, вот там, пожалуйста, затыкай рот, кому хочешь и когда хочешь. Тем более это будет полностью твой сайт...
А здесь люди имеют право говорить все, что они думают. Если ты не перестанешь заниматься той деятельностью, которую ты развел здесь, то я могу и забанить тебя и без всяких опросов. Это крайняя мера и она будет использована лишь в последнюю очередь.

Veliant
Heavyiron
Для создания псевдотрехмерности панель рисуется не одним цветом. Сверху и снизу (по 2 линии) цвета изменены относительно цвета середины. Это приходиться учитывать, когда вы пытаетесь применять чистые цвета. Не для всех цветов правильно срабатывает изменение цвета.

AqwAS
А ты посмотри код внимательней и думаю, догадаешься, где поправить нужно, правда придется править код в нескольких местах сразу, так как панель состоит из нескольких частей.


Top
   
 Post subject:
PostPosted: Wed Mar 29, 2006 11:46 pm 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
в версии ме 0.75 кажется (точно не помню) была панелька linux-подобная... я много раз код отрисовки смотрел..., но разницу не нашёл... в чём-то конечно есть, но все игры с цифрами илши вообще ничего не давали или панель не работала...

простите конечно за глупые вопросы, но я только начал вникать в систему...


Top
   
 Post subject:
PostPosted: Thu Mar 30, 2006 8:20 pm 
Так я посмотрел код изменять нужно, в 4 местах. Это только чтобы окно рисовалось на другой размер, а уж высоту остальных деталей найдете сами, а то будет маразмом описывать все здесь.
1)
newline3:
add edx,[esi]
add esi,4

mov eax,38
int 0x40
add ecx,1*65536+1
cmp cx,15 - здесь рисуется центральная часть панели, начальное значение 5, отсюда 15-5=10
jb newline3
2)
stripe:
dd -0x010101
dd -0x010101
dd -0x020202
dd -0x010101
dd -0x000000

dd 0x000000
dd 0x010101
dd 0x020202
dd 0x010101
dd 0x010101
здесь должно быть столько строк сколько рисуется в первой процедуре. Они определяют псевдотрехмерность формы панели.

3)
set_variables:

pusha

mov [b_size_y],dword 38
cmp [graph_text],1
jne noy2
mov [b_size_y],dword 18 - тут нужно прописать высоту всей панели
noy2:
4)
no_def_width:

mov ebx,eax
mov [screenxy],ebx
shr ebx,16
sub ax,38
shl eax,16
mov ecx,eax
add ecx,0*65536+38
cmp [graph_text],1
jne no_text_1
mov cx, 18 - здесь желательно тоже прописать высоту
add ecx,20*65536 - а вот старшие 16 бит ecx определяют где будет начинаться окно, смотрите как это вычисляется в коде выше.
no_text_1:
mov eax, 0 ; DEFINE AND DRAW WINDOW
mov edx, [wcolor]
or edx, 0x01000000 ; do not draw the window
mov esi, [wcolor]
or esi, 0x01000000 ; unmovable window
mov edi, [wcolor]
int 0x40

Вот и все, вроде не особо сложно.
А для того чтобы было проще отлаживать код можно пользоваться отладчиком который написал Diamond.
http://meos.sysbin.com/viewtopic.php?t= ... sc&start=0
Тем более, что он написал для него весьма подробное руководство.


Top
   
 Post subject:
PostPosted: Thu Mar 30, 2006 9:54 pm 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
огромное спасибо... буду пробовать...


Top
   
 Post subject:
PostPosted: Fri Mar 31, 2006 10:25 pm 
Offline
User avatar

Joined: Sat Mar 04, 2006 12:53 am
Posts: 221
все сделал... работает... теперь хочу картинку поставить на кнопку меню, но почемуто она не отображается... вместо картинки разноцветные точки!


Top
   
 Post subject:
PostPosted: Sat Apr 01, 2006 2:52 pm 
AqwAS
Чтобы вывести картинку тебе придется использовать формат BMP и к тому же перевернуть картинку по горизонтали и вертикали пред использованием, плюс учитывать сдвиг, так как в начале идут служебные данные.
Либо есть возможность использовать библиотеку Павлюшина Евгения ASCL - в ней кроме вывода BMP можно выводить и GIF картинки и там не нужно манипулировать с картинкой. Правда описание не очень подробное, так что придется смотреть реализацию кода в приложенных демках. Сама библиотека ASCL включена в исходники Колибри. Правда, там она в нескольких версиях, просто в более поздних отсутствовали некоторые демо приложения.


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

All times are UTC+03:00


Who is online

Users browsing this forum: Google [Bot] and 2 guests


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