Bug 3937

Summary: реализовать функцию GdipSetImageAttributesColorKeys
Product: WINE@Etersoft Reporter: Виталий Перов <vitperov>
Component: Графика GDI / DIB / GDIPLUSAssignee: Виталий Перов <vitperov>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P5 CC: lav, shpigor, vitperov
Version: 1.0.10   
Target Milestone: ---   
Hardware: PC   
OS: All   
URL: http://msdn.microsoft.com/en-us/library/ms535429%28VS.85%29.aspx
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 42, 641    

Description Виталий Перов 2009-05-12 19:26:54 MSD
В данный момент вместо функции заглушка, возвращающая NotImplemented
Comment 1 Виталий Перов 2009-05-12 19:38:39 MSD
это метод класса ImageAttributes:
ImageAttributes::SetColorKey

Функция должна выставлять его свойства в зависимости от передаваемых параметров. Туда передаётся:
const Color &colorLow,
    const Color &colorHigh,
    ColorAdjustType type

сейчас данный объект объявлен как 
struct GpImageAttributes{
    WrapMode wrap;
};
и данных свойств у него нет. Можно попробовать написать тест, и посмотреть на винде размер её структуры и какие байты меняются после вызова SetColorKey.
Так можно выяснить хранит она 2 цвета или как-то преобразует в один.

Для хака можно вообще ничего не реализовывать, а только возвращать Ok, но потом возникнут проблемы с функцией, читающей эти параметры. Например (последний параметр):

graphics.DrawImage(
      &image, 
      Rect(20, 20, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt)
Comment 2 Виталий Перов 2009-05-12 19:58:39 MSD
Временно добавил хак.
Comment 3 Виталий Перов 2009-10-01 16:54:42 MSD
Хак откачен т.к. появилась более правильная реализация.
Возможно программа получения обновлений начнёт падать в этом месте.
Comment 4 Виталий Перов 2010-03-01 17:10:07 MSK
Функция реализована