Summary: | реализовать функцию GdipGetNearestColor | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Виталий Перов <vitperov> |
Component: | Графика GDI / DIB / GDIPLUS | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | lav, shpigor, vitperov |
Version: | 1.0.10 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 641 |
Description
Виталий Перов
2009-05-10 15:34:35 MSD
Сделал хак. Возвращаю цвет: argb = RGB( 0, 0, 0); В итоге сразу при старте не выдаётся сообщение об ошибке. Форма отрисовывается, но неправильно (не видны текстовые надписи) Пробовал возвращать: argb = RGB( 255, 255, 255); Внешний вид формы никак не изменился. В gdi32 есть функция GetNearestColor. Возможно с её помощью можно сделать нормальный патч (хотя результат при этом не изменится) Реализовал. Требуется написать подтверждающие тесты. При дальнейшем рассмотрении оказалось, что функция GetNearestColor возвращает такой же цвет, что и был туда передан. Возможно эта ошибка именно функции GetNearestColor? Проверил на винде функцию GdipGetNearestColor. Там возвращается другой цвет. Проверил в винде GetNearestColor. Она работает немного не так, как на винде. Ещё возникают сложности в том, что она для конкретного dc вызывает его функцию, и если её нет, обрабатывает сама. Я нашёл реализованную функцию GetNearestColor только для x11drv: X11DRV_GetNearestColor. Проверил, в конечном итоге именно она и вызывается в тесте. Возможно надо писать тест уже на неё. Ещё надо проверить вызывается ли она при запуске comar Выяснил: 1) Тестов на x11drv в принципе не существует. 2) для comar вызывается именно функция этого драйвера. Думаю всё же стоит писать тест для функции в gdi32 Довольно сомнительна необходимость данного теста. Решил оставить как есть (сделать полу-заглушку, исправляющую проблему). |