I can't compile this under VS2010.
I patched the Columns UI SDK so that compiles fine now.
But I still got this issue:
MIDL2335: illegal expression type in constant FillGradRect
from script_interface.h:
[
object,
dual,
pointer_default(unique),
library_block,
uuid("9d6e404f-5ba7-4470-88d5-eb5980dffc07")
]
__interface IGdiGraphics: IGdiObj
{
[propput] STDMETHOD(_ptr)(void * p);
STDMETHOD(FillSolidRect)(float x, float y, float w, float h, DWORD color);
STDMETHOD(FillGradRect)(float x, float y, float w, float h, float angle, DWORD color1,
DWORD color2, [defaultvalue(1.0)] float focus);
STDMETHOD(FillRoundRect)(float x, float y, float w, float h, float arc_width, float arc_height, DWORD color);
STDMETHOD(FillEllipse)(float x, float y, float w, float h, DWORD color);
STDMETHOD(FillPolygon)(DWORD color, [range(0, 1)]INT fillmode, VARIANT points);
STDMETHOD(DrawLine)(float x1, float y1, float x2, float y2, float line_width, DWORD color);
STDMETHOD(DrawRect)(float x, float y, float w, float h, float line_width, DWORD color);
STDMETHOD(DrawRoundRect)(float x, float y, float w, float h, float arc_width,
float arc_height, float line_width, DWORD color);
STDMETHOD(DrawEllipse)(float x, float y, float w, float h, float line_width, DWORD color);
STDMETHOD(DrawPolygon)(DWORD color, float line_width, VARIANT points);
STDMETHOD(DrawString)(BSTR str, IGdiFont* font, DWORD color, float x,
float y, float w, float h, [defaultvalue(0)] DWORD flags);
STDMETHOD(GdiDrawText)(BSTR str, IGdiFont * font, DWORD color, int x, int y, int w, int h,
[defaultvalue(0)] DWORD format, [out,retval] VARIANT * p);
STDMETHOD(DrawImage)(IGdiBitmap* image, float dstX, float dstY, float dstW, float dstH, float srcX, float srcY,
float srcW, float srcH, [defaultvalue(0)]float angle, [defaultvalue(255)]BYTE alpha);
STDMETHOD(GdiDrawBitmap)(IGdiRawBitmap * bitmap, int dstX, int dstY, int dstW,
int dstH, int srcX, int srcY, int srcW, int srcH);
STDMETHOD(GdiAlphaBlend)(IGdiRawBitmap * bitmap, int dstX, int dstY, int dstW, int dstH, int srcX,
int srcY, int srcW, int srcH, [defaultvalue(255)]BYTE alpha);
//STDMETHOD(GdiTransparentBlt)(IGdiRawBitmap * bitmap, int dstX, int dstY, int dstW, int dstH,
// int srcX, int srcY, int srcW, int srcH, DWORD color);
STDMETHOD(MeasureString)(BSTR str, IGdiFont * font, float x, float y, float w, float h,
[defaultvalue(0)] DWORD flags, [out,retval] IMeasureStringInfo ** pp);
STDMETHOD(CalcTextWidth)(BSTR str, IGdiFont * font, [out,retval] UINT * p);
STDMETHOD(CalcTextHeight)(BSTR str, IGdiFont * font, [out,retval] UINT * p);
STDMETHOD(EstimateLineWrap)(BSTR str, IGdiFont * font, int max_width, [out,retval] VARIANT * p);
STDMETHOD(SetTextRenderingHint)([range(Gdiplus::TextRenderingHintSystemDefault,
Gdiplus::TextRenderingHintClearTypeGridFit)] UINT mode);
STDMETHOD(SetSmoothingMode)([range(Gdiplus::SmoothingModeInvalid,
Gdiplus::SmoothingModeAntiAlias)] int mode);
STDMETHOD(SetInterpolationMode)([range(Gdiplus::InterpolationModeInvalid,
Gdiplus::InterpolationModeHighQualityBicubic)] int mode);
//STDMETHOD(SetCompositingMode)([range(Gdiplus::CompositingModeSourceOver,
// Gdiplus::CompositingModeSourceCopy)] UINT mode);
//STDMETHOD(SetCompositingQuality)([range(Gdiplus::CompositingQualityInvalid,
// Gdiplus::CompositingQualityAssumeLinear)] int mode);
};
_COM_SMARTPTR_TYPEDEF(IGdiGraphics, __uuidof(IGdiGraphics));
generated vc100.idl:
[
object,
dual,
pointer_default(unique),
custom(8AFCDA7F-33B7-3120-86A8-754D2C0C0578, "library_block"),
uuid(9d6e404f-5ba7-4470-88d5-eb5980dffc07)
]
#line 111 "h:\\fb2k-sdk\\foobar2000\\foo-wsh-panel-mod\\foo_uie_wsh_panel_mod\\script_interface.h"
interface IGdiGraphics : IGdiObj {
#line 113 "h:\\fb2k-sdk\\foobar2000\\foo-wsh-panel-mod\\foo_uie_wsh_panel_mod\\script_interface.h"
[propput] HRESULT _ptr([in]void *p);
HRESULT FillSolidRect([in]float x, [in]float y, [in]float w, [in]float h, [in]DWORD color);
HRESULT FillGradRect([in]float x, [in]float y, [in]float w, [in]float h, [in]float angle,
[in]DWORD color1, [in]DWORD color2, [defaultvalue("1.000000")] float focus);
HRESULT FillRoundRect([in]float x, [in]float y, [in]float w, [in]float h, [in]float arc_width,
[in]float arc_height, [in]DWORD color);
HRESULT FillEllipse([in]float x, [in]float y, [in]float w, [in]float h, [in]DWORD color);
HRESULT FillPolygon([in]DWORD color, [range(0, 1)] INT fillmode, [in]VARIANT points);
#line 120 "h:\\fb2k-sdk\\foobar2000\\foo-wsh-panel-mod\\foo_uie_wsh_panel_mod\\script_interface.h"
HRESULT DrawLine([in]float x1, [in]float y1, [in]float x2, [in]float y2, [in]float line_width,
[in]DWORD color);
HRESULT DrawRect([in]float x, [in]float y, [in]float w, [in]float h, [in]float line_width,
[in]DWORD color);
HRESULT DrawRoundRect([in]float x, [in]float y, [in]float w, [in]float h, [in]float arc_width,
[in]float arc_height, [in]float line_width, [in]DWORD color);
HRESULT DrawEllipse([in]float x, [in]float y, [in]float w, [in]float h, [in]float line_width,
[in]DWORD color);
HRESULT DrawPolygon([in]DWORD color, [in]float line_width, [in]VARIANT points);
#line 126 "h:\\fb2k-sdk\\foobar2000\\foo-wsh-panel-mod\\foo_uie_wsh_panel_mod\\script_interface.h"
HRESULT DrawString([in]BSTR str, [in]IGdiFont *font, [in]DWORD color, [in]float x,
[in]float y, [in]float w, [in]float h, [defaultvalue(0)] DWORD flags);
HRESULT GdiDrawText([in]BSTR str, [in]IGdiFont *font, [in]DWORD color, [in]int x,
[in]int y, [in]int w, [in]int h, [defaultvalue(0)] DWORD format,
[out,retval] VARIANT *p);
HRESULT DrawImage([in]IGdiBitmap *image, [in]float dstX, [in]float dstY,
[in]float dstW, [in]float dstH, [in]float srcX, [in]float srcY, [in]float srcW,
[in]float srcH, [defaultvalue(0)] float angle, [defaultvalue(255)] BYTE alpha);
HRESULT GdiDrawBitmap([in]IGdiRawBitmap *bitmap, [in]int dstX, [in]int dstY,
[in]int dstW, [in]int dstH, [in]int srcX, [in]int srcY, [in]int srcW, [in]int srcH);
HRESULT GdiAlphaBlend([in]IGdiRawBitmap *bitmap, [in]int dstX, [in]int dstY,
[in]int dstW, [in]int dstH, [in]int srcX, [in]int srcY, [in]int srcW,
[in]int srcH, [defaultvalue(255)] BYTE alpha);
#line 132 "h:\\fb2k-sdk\\foobar2000\\foo-wsh-panel-mod\\foo_uie_wsh_panel_mod\\script_interface.h"
HRESULT MeasureString([in]BSTR str, [in]IGdiFont *font, [in]float x, [in]float y, [in]float w,
[in]float h, [defaultvalue(0)] DWORD flags, [out,retval] IMeasureStringInfo **pp);
HRESULT CalcTextWidth([in]BSTR str, [in]IGdiFont *font, [out,retval] UINT *p);
HRESULT CalcTextHeight([in]BSTR str, [in]IGdiFont *font, [out,retval] UINT *p);
HRESULT EstimateLineWrap([in]BSTR str, [in]IGdiFont *font, [in]int max_width, [out,retval] VARIANT *p);
HRESULT SetTextRenderingHint([range(0, 5)] UINT mode);
HRESULT SetSmoothingMode([range(-1, 4)] int mode);
HRESULT SetInterpolationMode([range(-1, 7)] int mode);
};
wish the CODEBOX tag automatically wrapped lines. I had to manually wrap them in order to not mess up the forum layout.