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

Фоновая картинка.
http://board.kolibrios.org/viewtopic.php?f=36&t=714
Page 4 of 5

Author:  Leency [ Thu Mar 15, 2012 11:44 pm ]
Post subject:  Re: Фоновая картинка.

Идея про одно "приложение-рабочий стол" достаточно интригующа.

Author:  Mario [ Thu Mar 15, 2012 11:46 pm ]
Post subject:  Re: Фоновая картинка.

Да-да. Здравствуй милый сердцу Проводник. :mrgreen:

Author:  Leency [ Thu Mar 15, 2012 11:49 pm ]
Post subject:  Re: Фоновая картинка.

Не так плоха была идея, как реализация, особенно в первых версиях всем знакомой ОС. Есть идеи лучше я не против, лишь понравилось как Серж расписал.

Author:  IgorA [ Mon Mar 19, 2012 6:44 pm ]
Post subject:  Re: Фоновая картинка.

В режиме 640*480 24 на qemu обнаружил вот такое (см. рисунок). Не уверен что виновата именно фоновая картинка. Ядро последнее версии 2477.

Attachments:
gl_12_03_19.png
gl_12_03_19.png [ 62.69 KiB | Viewed 2141 times ]

Author:  Mario [ Mon Mar 19, 2012 6:49 pm ]
Post subject:  Re: Фоновая картинка.

Что прямо так само появилось? Скачал чистый образ 2477, закинул в директорию Qemu и запустил выбрав режим 640*480 24? И совершенно ничего дополнительного не делал?

Author:  SoUrcerer [ Mon Mar 19, 2012 7:24 pm ]
Post subject:  Re: Фоновая картинка.

Mario, баг подтверждаю :(
Использую стандартный VGA BIOS из поставки Qemu, с биосом VMWare такого нет. С тем же БИОС и большими разрешениями проблем не отмечаю.

Author:  SoUrcerer [ Mon Mar 19, 2012 7:34 pm ]
Post subject:  Re: Фоновая картинка.

Баг проявляется с победоносной ревизии #2447.

Author:  Mario [ Mon Mar 19, 2012 7:59 pm ]
Post subject:  Re: Фоновая картинка.

Хм... у меня прописано:
Quote:
-vga vmware

Qemu старый версии 0.12.2 будут пытаться воспроизвести.

Author:  XVilka [ Mon Mar 19, 2012 8:13 pm ]
Post subject:  Re: Фоновая картинка.

подтверждаю наличие бага на всех версиях qemu с 0.14, в том числе на сегодняшней сборке из гита

Author:  Mario [ Mon Mar 19, 2012 8:17 pm ]
Post subject:  Re: Фоновая картинка.

Да, воспроизвел я уже. Сейчас буду, методом исключения, выяснять чему в стандартном Qemu помешала замечательная ревизия 2446.

Author:  Mario [ Mon Mar 19, 2012 9:47 pm ]
Post subject:  Re: Фоновая картинка.

Нашел:
Spoiler: Show
Attachment:
Qemu_bug_1.png
Qemu_bug_1.png [ 26.58 KiB | Viewed 2107 times ]

Мне сразу вспомнилось:
Spoiler: Show
Attachment:
mayya_2012.jpg
mayya_2012.jpg [ 99.86 KiB | Viewed 2107 times ]

Author:  Mario [ Mon Mar 19, 2012 11:59 pm ]
Post subject:  Re: Фоновая картинка.

Исправлено в SVN r. 2480

Author:  Mario [ Tue Mar 27, 2012 9:14 pm ]
Post subject:  Re: Фоновая картинка.

art_zh wrote:
Mario
А пошто токмо -1 ?
Есть еще функции свертки и перемещеня окна, там тоже фон перерисовывать надо.

Кстати, следует признать - я ошибался. Ядро таки восстанавливает не весь фон, а только тот кусок который нужно.
Вот этот кусок тому подтвержение:
Spoiler: Show
Code:
no_set_bgr_event:
        cmp     byte[REDRAW_BACKGROUND], 0         ; background update ?
        jz      nobackgr
        cmp     [background_defined], 0
        jz      nobackgr
;    mov   [draw_data+32 + RECT.left],dword 0
;    mov   [draw_data+32 + RECT.top],dword 0
;    mov   eax,[Screen_Max_X]
;    mov   ebx,[Screen_Max_Y]
;    mov   [draw_data+32 + RECT.right],eax
;    mov   [draw_data+32 + RECT.bottom],ebx
@@:
        call    drawbackground
        xor     eax, eax
        xchg    al, [REDRAW_BACKGROUND]
        test    al, al                             ; got new update request?
        jnz     @b
        mov     [draw_data+32 + RECT.left], eax
        mov     [draw_data+32 + RECT.top], eax
        mov     [draw_data+32 + RECT.right], eax
        mov     [draw_data+32 + RECT.bottom], eax
        mov     [MOUSE_BACKGROUND], byte 0

nobackgr:

Теперь нужно придумать как после того как я поменяю событие 5, сообщить приложению какой кусок изменился. Чтобы к примеру в Icon отрисовывать не все иконки, а только затертые при перерисовке фона.

З.Ы. Оказывается фон изменяется не совсем эффективно - восстанавливается разница межу крайними положениями перетаскиваемого окна. Т.е. если окно будет в левом верхнем углу до упора, а мы его перетащим в правый нижний угол до упора, то перерисуется весь фон.

Author:  Mario [ Wed Mar 28, 2012 4:33 pm ]
Post subject:  Re: Фоновая картинка.

SVN r. 2514 теперь фон при перемещении окна восстанавливается только по старой позиции, где было окно. Соответственно из "зоны поражения" ушли все окна которые раньше были вынуждены перерисовываться, так как обновлялся больший кусок фона.

Ночная сборка не собралась, и выдалась ошибка:
Quote:
Post commit hook failed (exit code 2) with output:
svn: E000028: Can't write to file '/home/autobuild/localcopy/.svn/tmp/nnN2VM': No space left on device
Failed to update repository copy

Author:  CleverMouse [ Wed Mar 28, 2012 5:15 pm ]
Post subject:  Re: Фоновая картинка.

Я почистила место и перезапустила скрипт автосборки руками, ошибок при сборке не было.

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