Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
2 a chiefly dialect : a change of clothes b (1) chiefly dialect : shirt (2) : a woman's slip or chemise (3) : a usually loose-fitting or semifitted dress
И еще маски какие-то, чем они там вообще занимаются?
Также там есть методы типа
BYTE GetGreen() const { return (BYTE) (Argb >> GreenShift); }
на которые студия естественно громко матерится (типа ты че, баран, большие типы режешь).
Убожество в общем.
Дефайны я не люблю. Использую, конечно, но стараюсь обходиться. Ну как-то отпадает желание, когда в WinGDI.h видишь
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g) )<<8))|(((DWORD)(BYTE)(b))<<16)))
Дает, что можно немного сократить код, поскольку у нас тут три с половиной одинаковых куска. expression в данном случае будет что-то вроде того куска со статик кастами. Параметром будут слова с масками и шифтами.
андеф чтобы прибрать за собой. На всякий случай (особенно важно в заголовочных фйайлах). В большинстве случаев не укусит, но, имхо, все равно стóит.
Я в курсе. Но -- но -- но -- ноубадикэрс) Не для гдишного цвета это должно было быть, а макросы я не помню почему отбросил.
Черт, это было очень давно и мне давно очень стыдно)
2 a chiefly dialect : a change of clothes b (1) chiefly dialect : shirt (2) : a woman's slip or chemise (3) : a usually loose-fitting or semifitted dress
И еще маски какие-то, чем они там вообще занимаются?
enum
{
AlphaShift = 24,
RedShift = 16,
GreenShift = 8,
BlueShift = 0
};
enum
{
AlphaMask = 0xff000000,
RedMask = 0x00ff0000,
GreenMask = 0x0000ff00,
BlueMask = 0x000000ff
};
Также там есть методы типа
BYTE GetGreen() const { return (BYTE) (Argb >> GreenShift); }
на которые студия естественно громко матерится (типа ты че, баран, большие типы режешь).
Убожество в общем.
Что-же такое нужно сьесть, что-бы его увидеть...
А что, #define уже отменили? Стандартная практика же:
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g) )<<8))|(((DWORD)(BYTE)(b))<<16)))
expression в данном случае будет что-то вроде того куска со статик кастами. Параметром будут слова с масками и шифтами.
андеф чтобы прибрать за собой. На всякий случай (особенно важно в заголовочных фйайлах). В большинстве случаев не укусит, но, имхо, все равно стóит.
статик касты можно смело выкидывать)
inline Gdiplus::Color COLORREFToColor(COLORREF clr, int alpha = 255)
{
return Gdiplus::Color(alpha, GetRValue(clr), GetGValue(clr), GetBValue(clr));
}
Черт, это было очень давно и мне давно очень стыдно)