qt intf: Custom control, MoveToEx, LineTo and Ellipse, Screen.Width and Screen.Height from Felipe

git-svn-id: trunk@9105 -
This commit is contained in:
mattias 2006-04-09 20:46:13 +00:00
parent 0f359b926e
commit ef1ae4f537
8 changed files with 548 additions and 52 deletions

View File

@ -12,6 +12,7 @@ uses Types;
const
{$linklib libqt4intf}
{$IFDEF MSWINDOWS}
QtNamePrefix = '_';
QtShareName = 'libqt4intf.dll';
@ -20,6 +21,11 @@ const
QtNamePrefix = '';
QtShareName = 'libqt4intf.so';
{$ENDIF}
{$IFDEF DARWIN}
QtNamePrefix = '';
QtShareName = 'libqt4intf.dylib';
{$ENDIF}
type
QHookH = TMethod;
@ -28,6 +34,14 @@ type
Data: Word;
end;
PQColor = ^TQColor;
TQColor = packed record
ColorSpec : LongInt;
Alpha : word;
r,g,b : word;
Pad : word;
end;
QtHandle = integer;
qreal = double;
qrgb = longword;
@ -45,6 +59,16 @@ const
type
{$IFDEF DARWIN}
EventHandlerRef = ^LongInt;
EventRef = ^LongInt;
RgnHandle = ^LongInt;
MenuHandle = ^LongInt;
MenuRef = MenuHandle;
EventHandlerCallRef = ^LongInt;
{$ENDIF}
QBitArrayH = class(TObject) end;
QBrushH = class(TObject) end;
QByteArrayH = class(TObject) end;
@ -2515,7 +2539,7 @@ function QColor_create(r: Integer; g: Integer; b: Integer; a: Integer = 255): QC
function QColor_create(rgb: QRgb): QColorH; overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_create4';
function QColor_create(name: PWideString): QColorH; overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_create5';
function QColor_create(name: PAnsiChar): QColorH; overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_create6';
function QColor_create(color: QColorH): QColorH; overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_create7';
function QColor_create(color: PQColor): QColorH; overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_create7';
function QColor_isValid(handle: QColorH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QColor_isValid';
procedure QColor_name(handle: QColorH; retval: PWideString); cdecl; external QtShareName name QtNamePrefix + 'QColor_name';
procedure QColor_setNamedColor(handle: QColorH; name: PWideString); cdecl; external QtShareName name QtNamePrefix + 'QColor_setNamedColor';
@ -2567,20 +2591,20 @@ procedure QColor_getCmyk(handle: QColorH; c: PInteger; m: PInteger; y: PInteger;
procedure QColor_setCmyk(handle: QColorH; c: Integer; m: Integer; y: Integer; k: Integer; a: Integer = 255); cdecl; external QtShareName name QtNamePrefix + 'QColor_setCmyk';
procedure QColor_getCmykF(handle: QColorH; c: PDouble; m: PDouble; y: PDouble; k: PDouble; a: PDouble = 0); cdecl; external QtShareName name QtNamePrefix + 'QColor_getCmykF';
procedure QColor_setCmykF(handle: QColorH; c: Double; m: Double; y: Double; k: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_setCmykF';
procedure QColor_toRgb(handle: QColorH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QColor_toRgb';
procedure QColor_toHsv(handle: QColorH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QColor_toHsv';
procedure QColor_toCmyk(handle: QColorH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QColor_toCmyk';
procedure QColor_convertTo(handle: QColorH; retval: QColorH; colorSpec: QColorSpec); cdecl; external QtShareName name QtNamePrefix + 'QColor_convertTo';
procedure QColor_fromRgb(retval: QColorH; rgb: QRgb); overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgb';
procedure QColor_fromRgba(retval: QColorH; rgba: QRgb); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgba';
procedure QColor_fromRgb(retval: QColorH; r: Integer; g: Integer; b: Integer; a: Integer = 255); overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgb2';
procedure QColor_fromRgbF(retval: QColorH; r: Double; g: Double; b: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgbF';
procedure QColor_fromHsv(retval: QColorH; h: Integer; s: Integer; v: Integer; a: Integer = 255); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromHsv';
procedure QColor_fromHsvF(retval: QColorH; h: Double; s: Double; v: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromHsvF';
procedure QColor_fromCmyk(retval: QColorH; c: Integer; m: Integer; y: Integer; k: Integer; a: Integer = 255); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromCmyk';
procedure QColor_fromCmykF(retval: QColorH; c: Double; m: Double; y: Double; k: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromCmykF';
procedure QColor_light(handle: QColorH; retval: QColorH; f: Integer = 150); cdecl; external QtShareName name QtNamePrefix + 'QColor_light';
procedure QColor_dark(handle: QColorH; retval: QColorH; f: Integer = 200); cdecl; external QtShareName name QtNamePrefix + 'QColor_dark';
procedure QColor_toRgb(handle: QColorH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QColor_toRgb';
procedure QColor_toHsv(handle: QColorH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QColor_toHsv';
procedure QColor_toCmyk(handle: QColorH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QColor_toCmyk';
procedure QColor_convertTo(handle: QColorH; retval: PQColor; colorSpec: QColorSpec); cdecl; external QtShareName name QtNamePrefix + 'QColor_convertTo';
procedure QColor_fromRgb(retval: PQColor; rgb: QRgb); overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgb';
procedure QColor_fromRgba(retval: PQColor; rgba: QRgb); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgba';
procedure QColor_fromRgb(retval: PQColor; r: Integer; g: Integer; b: Integer; a: Integer = 255); overload; cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgb2';
procedure QColor_fromRgbF(retval: PQColor; r: Double; g: Double; b: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromRgbF';
procedure QColor_fromHsv(retval: PQColor; h: Integer; s: Integer; v: Integer; a: Integer = 255); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromHsv';
procedure QColor_fromHsvF(retval: PQColor; h: Double; s: Double; v: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromHsvF';
procedure QColor_fromCmyk(retval: PQColor; c: Integer; m: Integer; y: Integer; k: Integer; a: Integer = 255); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromCmyk';
procedure QColor_fromCmykF(retval: PQColor; c: Double; m: Double; y: Double; k: Double; a: Double = 1.0); cdecl; external QtShareName name QtNamePrefix + 'QColor_fromCmykF';
procedure QColor_light(handle: QColorH; retval: PQColor; f: Integer = 150); cdecl; external QtShareName name QtNamePrefix + 'QColor_light';
procedure QColor_dark(handle: QColorH; retval: PQColor; f: Integer = 200); cdecl; external QtShareName name QtNamePrefix + 'QColor_dark';
function QMatrix_create(): QMatrixH; overload; cdecl; external QtShareName name QtNamePrefix + 'QMatrix_create';
procedure QMatrix_destroy(handle: QMatrixH); cdecl; external QtShareName name QtNamePrefix + 'QMatrix_destroy';
@ -2627,9 +2651,9 @@ type
function QBrush_create(): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create';
procedure QBrush_destroy(handle: QBrushH); cdecl; external QtShareName name QtNamePrefix + 'QBrush_destroy';
function QBrush_create(bs: QtBrushStyle): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create2';
function QBrush_create(color: QColorH; bs: QtBrushStyle = QtSolidPattern): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create3';
function QBrush_create(color: PQColor; bs: QtBrushStyle = QtSolidPattern): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create3';
function QBrush_create(color: QtGlobalColor; bs: QtBrushStyle = QtSolidPattern): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create4';
function QBrush_create(color: QColorH; pixmap: QPixmapH): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create5';
function QBrush_create(color: PQColor; pixmap: QPixmapH): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create5';
function QBrush_create(color: QtGlobalColor; pixmap: QPixmapH): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create6';
function QBrush_create(pixmap: QPixmapH): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create7';
function QBrush_create(brush: QBrushH): QBrushH; overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_create8';
@ -2638,8 +2662,8 @@ function QBrush_style(handle: QBrushH): QtBrushStyle; cdecl; external QtShareNam
procedure QBrush_setStyle(handle: QBrushH; p1: QtBrushStyle); cdecl; external QtShareName name QtNamePrefix + 'QBrush_setStyle';
procedure QBrush_texture(handle: QBrushH; retval: QPixmapH); cdecl; external QtShareName name QtNamePrefix + 'QBrush_texture';
procedure QBrush_setTexture(handle: QBrushH; pixmap: QPixmapH); cdecl; external QtShareName name QtNamePrefix + 'QBrush_setTexture';
function QBrush_color(handle: QBrushH): QColorH; cdecl; external QtShareName name QtNamePrefix + 'QBrush_color';
procedure QBrush_setColor(handle: QBrushH; color: QColorH); overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_setColor';
function QBrush_color(handle: QBrushH): PQColor; cdecl; external QtShareName name QtNamePrefix + 'QBrush_color';
procedure QBrush_setColor(handle: QBrushH; color: PQColor); overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_setColor';
procedure QBrush_setColor(handle: QBrushH; color: QtGlobalColor); overload; cdecl; external QtShareName name QtNamePrefix + 'QBrush_setColor2';
function QBrush_gradient(handle: QBrushH): QGradientH; cdecl; external QtShareName name QtNamePrefix + 'QBrush_gradient';
function QBrush_isOpaque(handle: QBrushH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QBrush_isOpaque';
@ -2649,7 +2673,7 @@ procedure QGradient_destroy(handle: QGradientH); cdecl; external QtShareName nam
function QGradient_type(handle: QGradientH): QGradientType; cdecl; external QtShareName name QtNamePrefix + 'QGradient_type';
procedure QGradient_setSpread(handle: QGradientH; spread: QGradientSpread); cdecl; external QtShareName name QtNamePrefix + 'QGradient_setSpread';
function QGradient_spread(handle: QGradientH): QGradientSpread; cdecl; external QtShareName name QtNamePrefix + 'QGradient_spread';
procedure QGradient_setColorAt(handle: QGradientH; pos: Double; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QGradient_setColorAt';
procedure QGradient_setColorAt(handle: QGradientH; pos: Double; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QGradient_setColorAt';
function QLinearGradient_create(start: QPointFH; finalStop: QPointFH): QLinearGradientH; overload; cdecl; external QtShareName name QtNamePrefix + 'QLinearGradient_create';
procedure QLinearGradient_destroy(handle: QLinearGradientH); cdecl; external QtShareName name QtNamePrefix + 'QLinearGradient_destroy';
@ -2673,7 +2697,7 @@ function QConicalGradient_angle(handle: QConicalGradientH): Double; cdecl; exter
function QPen_create(): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create';
procedure QPen_destroy(handle: QPenH); cdecl; external QtShareName name QtNamePrefix + 'QPen_destroy';
function QPen_create(p1: QtPenStyle): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create2';
function QPen_create(color: QColorH): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create3';
function QPen_create(color: PQColor): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create3';
function QPen_create(brush: QBrushH; width: Double; s: QtPenStyle = QtSolidLine; c: QtPenCapStyle = QtSquareCap; j: QtPenJoinStyle = QtBevelJoin): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create4';
function QPen_create(pen: QPenH): QPenH; overload; cdecl; external QtShareName name QtNamePrefix + 'QPen_create5';
function QPen_style(handle: QPenH): QtPenStyle; cdecl; external QtShareName name QtNamePrefix + 'QPen_style';
@ -2684,8 +2708,8 @@ function QPen_widthF(handle: QPenH): Double; cdecl; external QtShareName name Qt
procedure QPen_setWidthF(handle: QPenH; width: Double); cdecl; external QtShareName name QtNamePrefix + 'QPen_setWidthF';
function QPen_width(handle: QPenH): Integer; cdecl; external QtShareName name QtNamePrefix + 'QPen_width';
procedure QPen_setWidth(handle: QPenH; width: Integer); cdecl; external QtShareName name QtNamePrefix + 'QPen_setWidth';
procedure QPen_color(handle: QPenH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QPen_color';
procedure QPen_setColor(handle: QPenH; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QPen_setColor';
procedure QPen_color(handle: QPenH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QPen_color';
procedure QPen_setColor(handle: QPenH; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QPen_setColor';
procedure QPen_brush(handle: QPenH; retval: QBrushH); cdecl; external QtShareName name QtNamePrefix + 'QPen_brush';
procedure QPen_setBrush(handle: QPenH; brush: QBrushH); cdecl; external QtShareName name QtNamePrefix + 'QPen_setBrush';
function QPen_isSolid(handle: QPenH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QPen_isSolid';
@ -2753,7 +2777,7 @@ function QPainter_font(handle: QPainterH): QFontH; cdecl; external QtShareName n
procedure QPainter_setFont(handle: QPainterH; f: QFontH); cdecl; external QtShareName name QtNamePrefix + 'QPainter_setFont';
procedure QPainter_fontMetrics(handle: QPainterH; retval: QFontMetricsH); cdecl; external QtShareName name QtNamePrefix + 'QPainter_fontMetrics';
procedure QPainter_fontInfo(handle: QPainterH; retval: QFontInfoH); cdecl; external QtShareName name QtNamePrefix + 'QPainter_fontInfo';
procedure QPainter_setPen(handle: QPainterH; color: QColorH); overload; cdecl; external QtShareName name QtNamePrefix + 'QPainter_setPen';
procedure QPainter_setPen(handle: QPainterH; color: PQColor); overload; cdecl; external QtShareName name QtNamePrefix + 'QPainter_setPen';
procedure QPainter_setPen(handle: QPainterH; pen: QPenH); overload; cdecl; external QtShareName name QtNamePrefix + 'QPainter_setPen2';
procedure QPainter_setPen(handle: QPainterH; style: QtPenStyle); overload; cdecl; external QtShareName name QtNamePrefix + 'QPainter_setPen3';
function QPainter_pen(handle: QPainterH): QPenH; cdecl; external QtShareName name QtNamePrefix + 'QPainter_pen';
@ -3517,7 +3541,7 @@ procedure QPixmap_size(handle: QPixmapH; retval: PSize); cdecl; external QtShare
procedure QPixmap_rect(handle: QPixmapH; retval: PRect); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_rect';
function QPixmap_depth(handle: QPixmapH): Integer; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_depth';
function QPixmap_defaultDepth(): Integer; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_defaultDepth';
procedure QPixmap_fill(handle: QPixmapH; fillColor: QColorH); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_fill';
procedure QPixmap_fill(handle: QPixmapH; fillColor: PQColor = Qtwhite); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_fill';
procedure QPixmap_fill(handle: QPixmapH; widget: QWidgetH; ofs: PPoint); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_fill2';
procedure QPixmap_fill(handle: QPixmapH; widget: QWidgetH; xofs: Integer; yofs: Integer); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_fill3';
procedure QPixmap_mask(handle: QPixmapH; retval: QBitmapH); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_mask';
@ -3527,7 +3551,7 @@ procedure QPixmap_setAlphaChannel(handle: QPixmapH; p1: QPixmapH); cdecl; extern
function QPixmap_hasAlpha(handle: QPixmapH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_hasAlpha';
function QPixmap_hasAlphaChannel(handle: QPixmapH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_hasAlphaChannel';
procedure QPixmap_createHeuristicMask(handle: QPixmapH; retval: QBitmapH; clipTight: Boolean = True); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_createHeuristicMask';
procedure QPixmap_createMaskFromColor(handle: QPixmapH; retval: QBitmapH; maskColor: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_createMaskFromColor';
procedure QPixmap_createMaskFromColor(handle: QPixmapH; retval: QBitmapH; maskColor: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_createMaskFromColor';
procedure QPixmap_grabWindow(retval: QPixmapH; p1: Cardinal; x: Integer = 0; y: Integer = 0; w: Integer = -1; h: Integer = -1); cdecl; external QtShareName name QtNamePrefix + 'QPixmap_grabWindow';
procedure QPixmap_grabWidget(retval: QPixmapH; widget: QWidgetH; rect: PRect); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_grabWidget';
procedure QPixmap_grabWidget(retval: QPixmapH; widget: QWidgetH; x: Integer = 0; y: Integer = 0; w: Integer = -1; h: Integer = -1); overload; cdecl; external QtShareName name QtNamePrefix + 'QPixmap_grabWidget2';
@ -3724,8 +3748,8 @@ procedure QImageReader_setScaledSize(handle: QImageReaderH; size: PSize); cdecl;
procedure QImageReader_scaledSize(handle: QImageReaderH; retval: PSize); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_scaledSize';
procedure QImageReader_setScaledClipRect(handle: QImageReaderH; rect: PRect); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_setScaledClipRect';
procedure QImageReader_scaledClipRect(handle: QImageReaderH; retval: PRect); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_scaledClipRect';
procedure QImageReader_setBackgroundColor(handle: QImageReaderH; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_setBackgroundColor';
procedure QImageReader_backgroundColor(handle: QImageReaderH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_backgroundColor';
procedure QImageReader_setBackgroundColor(handle: QImageReaderH; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_setBackgroundColor';
procedure QImageReader_backgroundColor(handle: QImageReaderH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_backgroundColor';
function QImageReader_supportsAnimation(handle: QImageReaderH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QImageReader_supportsAnimation';
function QImageReader_canRead(handle: QImageReaderH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QImageReader_canRead';
procedure QImageReader_read(handle: QImageReaderH; retval: QImageH); cdecl; external QtShareName name QtNamePrefix + 'QImageReader_read';
@ -4146,7 +4170,7 @@ procedure QTextEdit_fontFamily(handle: QTextEditH; retval: PWideString); cdecl;
function QTextEdit_fontWeight(handle: QTextEditH): Integer; cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_fontWeight';
function QTextEdit_fontUnderline(handle: QTextEditH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_fontUnderline';
function QTextEdit_fontItalic(handle: QTextEditH): Boolean; cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_fontItalic';
procedure QTextEdit_textColor(handle: QTextEditH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_textColor';
procedure QTextEdit_textColor(handle: QTextEditH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_textColor';
procedure QTextEdit_currentFont(handle: QTextEditH; retval: QFontH); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_currentFont';
function QTextEdit_alignment(handle: QTextEditH): QtAlignment; cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_alignment';
procedure QTextEdit_mergeCurrentCharFormat(handle: QTextEditH; modifier: QTextCharFormatH); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_mergeCurrentCharFormat';
@ -4187,7 +4211,7 @@ procedure QTextEdit_setFontFamily(handle: QTextEditH; fontFamily: PWideString);
procedure QTextEdit_setFontWeight(handle: QTextEditH; w: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setFontWeight';
procedure QTextEdit_setFontUnderline(handle: QTextEditH; b: Boolean); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setFontUnderline';
procedure QTextEdit_setFontItalic(handle: QTextEditH; b: Boolean); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setFontItalic';
procedure QTextEdit_setTextColor(handle: QTextEditH; c: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setTextColor';
procedure QTextEdit_setTextColor(handle: QTextEditH; c: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setTextColor';
procedure QTextEdit_setCurrentFont(handle: QTextEditH; f: QFontH); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setCurrentFont';
procedure QTextEdit_setAlignment(handle: QTextEditH; a: QtAlignment); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setAlignment';
procedure QTextEdit_setPlainText(handle: QTextEditH; text: PWideString); cdecl; external QtShareName name QtNamePrefix + 'QTextEdit_setPlainText';
@ -4760,8 +4784,8 @@ function QTabBar_isTabEnabled(handle: QTabBarH; index: Integer): Boolean; cdecl;
procedure QTabBar_setTabEnabled(handle: QTabBarH; index: Integer; p2: Boolean); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabEnabled';
procedure QTabBar_tabText(handle: QTabBarH; retval: PWideString; index: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_tabText';
procedure QTabBar_setTabText(handle: QTabBarH; index: Integer; text: PWideString); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabText';
procedure QTabBar_tabTextColor(handle: QTabBarH; retval: QColorH; index: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_tabTextColor';
procedure QTabBar_setTabTextColor(handle: QTabBarH; index: Integer; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabTextColor';
procedure QTabBar_tabTextColor(handle: QTabBarH; retval: PQColor; index: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_tabTextColor';
procedure QTabBar_setTabTextColor(handle: QTabBarH; index: Integer; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabTextColor';
procedure QTabBar_tabIcon(handle: QTabBarH; retval: QIconH; index: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_tabIcon';
procedure QTabBar_setTabIcon(handle: QTabBarH; index: Integer; icon: QIconH); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabIcon';
procedure QTabBar_setTabToolTip(handle: QTabBarH; index: Integer; tip: PWideString); cdecl; external QtShareName name QtNamePrefix + 'QTabBar_setTabToolTip';
@ -5052,10 +5076,10 @@ procedure QListWidgetItem_font(handle: QListWidgetItemH; retval: QFontH); cdecl;
procedure QListWidgetItem_setFont(handle: QListWidgetItemH; font: QFontH); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setFont';
function QListWidgetItem_textAlignment(handle: QListWidgetItemH): Integer; cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_textAlignment';
procedure QListWidgetItem_setTextAlignment(handle: QListWidgetItemH; alignment: Integer); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setTextAlignment';
procedure QListWidgetItem_backgroundColor(handle: QListWidgetItemH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_backgroundColor';
procedure QListWidgetItem_setBackgroundColor(handle: QListWidgetItemH; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setBackgroundColor';
procedure QListWidgetItem_textColor(handle: QListWidgetItemH; retval: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_textColor';
procedure QListWidgetItem_setTextColor(handle: QListWidgetItemH; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setTextColor';
procedure QListWidgetItem_backgroundColor(handle: QListWidgetItemH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_backgroundColor';
procedure QListWidgetItem_setBackgroundColor(handle: QListWidgetItemH; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setBackgroundColor';
procedure QListWidgetItem_textColor(handle: QListWidgetItemH; retval: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_textColor';
procedure QListWidgetItem_setTextColor(handle: QListWidgetItemH; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setTextColor';
function QListWidgetItem_checkState(handle: QListWidgetItemH): QtCheckState; cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_checkState';
procedure QListWidgetItem_setCheckState(handle: QListWidgetItemH; state: QtCheckState); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_setCheckState';
procedure QListWidgetItem_sizeHint(handle: QListWidgetItemH; retval: PSize); cdecl; external QtShareName name QtNamePrefix + 'QListWidgetItem_sizeHint';
@ -5189,10 +5213,10 @@ procedure QTreeWidgetItem_font(handle: QTreeWidgetItemH; retval: QFontH; column:
procedure QTreeWidgetItem_setFont(handle: QTreeWidgetItemH; column: Integer; font: QFontH); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setFont';
function QTreeWidgetItem_textAlignment(handle: QTreeWidgetItemH; column: Integer): Integer; cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_textAlignment';
procedure QTreeWidgetItem_setTextAlignment(handle: QTreeWidgetItemH; column: Integer; alignment: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setTextAlignment';
procedure QTreeWidgetItem_backgroundColor(handle: QTreeWidgetItemH; retval: QColorH; column: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_backgroundColor';
procedure QTreeWidgetItem_setBackgroundColor(handle: QTreeWidgetItemH; column: Integer; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setBackgroundColor';
procedure QTreeWidgetItem_textColor(handle: QTreeWidgetItemH; retval: QColorH; column: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_textColor';
procedure QTreeWidgetItem_setTextColor(handle: QTreeWidgetItemH; column: Integer; color: QColorH); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setTextColor';
procedure QTreeWidgetItem_backgroundColor(handle: QTreeWidgetItemH; retval: PQColor; column: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_backgroundColor';
procedure QTreeWidgetItem_setBackgroundColor(handle: QTreeWidgetItemH; column: Integer; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setBackgroundColor';
procedure QTreeWidgetItem_textColor(handle: QTreeWidgetItemH; retval: PQColor; column: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_textColor';
procedure QTreeWidgetItem_setTextColor(handle: QTreeWidgetItemH; column: Integer; color: PQColor); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setTextColor';
function QTreeWidgetItem_checkState(handle: QTreeWidgetItemH; column: Integer): QtCheckState; cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_checkState';
procedure QTreeWidgetItem_setCheckState(handle: QTreeWidgetItemH; column: Integer; state: QtCheckState); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_setCheckState';
procedure QTreeWidgetItem_sizeHint(handle: QTreeWidgetItemH; retval: PSize; column: Integer); cdecl; external QtShareName name QtNamePrefix + 'QTreeWidgetItem_sizeHint';
@ -5363,7 +5387,7 @@ function QInputDialog_getInteger(parent: QWidgetH; title: PWideString; _label: P
function QInputDialog_getDouble(parent: QWidgetH; title: PWideString; _label: PWideString; value: Double = 0; minValue: Double = -2147483647; maxValue: Double = 2147483647; decimals: Integer = 1; ok: PBoolean = 0; f: QtWindowFlags = 0): Double; cdecl; external QtShareName name QtNamePrefix + 'QInputDialog_getDouble';
procedure QInputDialog_getItem(retval: PWideString; parent: QWidgetH; title: PWideString; _label: PWideString; list: QStringListH; current: Integer = 0; editable: Boolean = True; ok: PBoolean = 0; f: QtWindowFlags = 0); cdecl; external QtShareName name QtNamePrefix + 'QInputDialog_getItem';
procedure QColorDialog_getColor(retval: QColorH; init: QColorH; parent: QWidgetH = nil); cdecl; external QtShareName name QtNamePrefix + 'QColorDialog_getColor';
procedure QColorDialog_getColor(retval: PQColor; init: PQColor = Qtwhite; parent: QWidgetH = nil); cdecl; external QtShareName name QtNamePrefix + 'QColorDialog_getColor';
function QColorDialog_getRgba(p1: QRgb; ok: PBoolean = 0; parent: QWidgetH = nil): QRgb; cdecl; external QtShareName name QtNamePrefix + 'QColorDialog_getRgba';
function QColorDialog_customCount(): Integer; cdecl; external QtShareName name QtNamePrefix + 'QColorDialog_customCount';
function QColorDialog_customColor(p1: Integer): QRgb; cdecl; external QtShareName name QtNamePrefix + 'QColorDialog_customColor';
@ -5805,7 +5829,7 @@ procedure InitializePIntArray(GPP, GPL, SPL: Pointer); cdecl; external QtShareNa
implementation
uses SysUtils,Libc;
uses SysUtils,Math;
// AnsiString Helpers
@ -5843,6 +5867,12 @@ begin
SetString(S, Unicode, Len);
end;
{$ENDIF}
{$IFDEF DARWIN}
begin
SetString(S, Unicode, Len);
end;
{$ENDIF}
function UnicodeOfPWideString(var S: WideString): PWideChar; cdecl; export;
const
@ -5901,7 +5931,7 @@ InitializePIntArray(@GetIntsPtr,
@GetIntsLength,
@SetIntsLength);
fedisableexcept(FE_ALL_EXCEPT);
SetExceptionMask([exDenormalized,exInvalidOp,exOverflow,exPrecision,exUnderflow,exZeroDivide]);
end.

View File

@ -69,6 +69,9 @@ type
function CreateComponent(Sender : TObject): THandle; override; // deprecated
function CreateTimer(Interval: integer; TimerFunc: TFNTimerProc): integer; override;
function DestroyTimer(TimerHandle: integer): boolean; override;
// device contexts
function IsValidDC(const DC: HDC): Boolean; virtual;
public
{$I qtwinapih.inc}
{.$I qtlclintfh.inc}

View File

@ -169,4 +169,14 @@ begin
Result := 0;
end;
{------------------------------------------------------------------------------
Function: TQtWidgetSet.IsValidDC
Params: DC - handle to a device context (TQtDeviceContext)
Returns: True - if the DC is valid
------------------------------------------------------------------------------}
function TQtWidgetSet.IsValidDC(const DC: HDC): Boolean;
begin
Result := (DC <> 0);
end;
//------------------------------------------------------------------------

View File

@ -53,6 +53,9 @@ type
procedure SlotKey(Event: QEventH); cdecl;
procedure SlotMouse(Event: QEventH); cdecl;
procedure SlotPaint(Event: QEventH); cdecl;
public
procedure Update;
procedure Repaint;
end;
{ TQtAbstractButton }
@ -94,13 +97,15 @@ type
public
Widget: QPainterH;
Brush: TQtBrush;
public
PenPos: TPoint;
public
constructor Create(WidgetHandle: HWND); virtual;
destructor Destroy; override;
public
procedure drawRect(x1: Integer; y1: Integer; w: Integer; h: Integer);
procedure drawText(x: Integer; y: Integer; s: PWideString);
procedure drawLine(x1: Integer; y1: Integer; x2: Integer; y2: Integer);
procedure drawEllipse(x: Integer; y: Integer; w: Integer; h: Integer);
end;
{ TQtMainWindow }
@ -443,6 +448,23 @@ begin
end;
end;
{------------------------------------------------------------------------------
Function: TQtWidget.Update
Params: None
Returns: Nothing
Schedules a paint event for processing when Qt returns to the main event loop
------------------------------------------------------------------------------}
procedure TQtWidget.Update;
begin
QWidget_update(Widget);
end;
procedure TQtWidget.Repaint;
begin
QWidget_repaint(Widget);
end;
{------------------------------------------------------------------------------
Function: TQtWidget.QtKeyToLCLKey
Params: None
@ -899,7 +921,7 @@ begin
end;
// Creates the Brush
Brush := TQtBrush.Create;
// Brush := TQtBrush.Create;
end;
{------------------------------------------------------------------------------
@ -909,7 +931,7 @@ end;
------------------------------------------------------------------------------}
destructor TQtDeviceContext.Destroy;
begin
Brush.Free;
// Brush.Free;
{$ifdef VerboseQt}
WriteLn('Calling QPainter_destroy');
@ -944,6 +966,32 @@ begin
QPainter_drawText(Widget, x, y, s);
end;
{------------------------------------------------------------------------------
Function: TQtDeviceContext.drawLine
Params: None
Returns: Nothing
Draws a Text. Helper function for winapi.LineTo
------------------------------------------------------------------------------}
procedure TQtDeviceContext.drawLine(x1: Integer; y1: Integer; x2: Integer;
y2: Integer);
begin
QPainter_drawLine(Widget, x1, y1, x2, y2);
end;
{------------------------------------------------------------------------------
Function: TQtDeviceContext.drawEllipse
Params: None
Returns: Nothing
Draws a ellipse. Helper function for winapi.Ellipse
------------------------------------------------------------------------------}
procedure TQtDeviceContext.drawEllipse(x: Integer; y: Integer; w: Integer;
h: Integer);
begin
QPainter_drawEllipse(Widget, x, y, w, h);
end;
{ TQtBrush }
{------------------------------------------------------------------------------

View File

@ -108,7 +108,9 @@ begin
WriteLn('WinAPI DrawText');
{$endif}
if DC = 0 then Exit;
Result := 0;
if not IsValidDC(DC) then Exit;
if (Flags and DT_CALCRECT) = DT_CALCRECT then
begin
@ -127,6 +129,24 @@ begin
// if Rect.Right = 40 then raise Exception.create('Error');
end;
{------------------------------------------------------------------------------
Method: Ellipse
Params: X1, Y1, X2, Y2
Returns: Nothing
Use Ellipse to draw a filled circle or ellipse.
------------------------------------------------------------------------------}
function TQtWidgetSet.Ellipse(DC: HDC; x1, y1, x2, y2: Integer): Boolean;
begin
Result := False;
if not IsValidDC(DC) then Exit;
TQtDeviceContext(DC).drawEllipse(x1, y1, X2 - X1, Y2 - Y1);
Result := True;
end;
{------------------------------------------------------------------------------
Function: EndPaint
Params:
@ -167,9 +187,9 @@ begin
Result := False;
WideStr := WideString(Str);
if not IsValidDC(DC) then Exit;
if DC = 0 then Exit;
WideStr := WideString(Str);
// if TQtDeviceContext(DC).isDrawing then TQtDeviceContext(DC).drawText(X, Y, @WideStr)
// else TQtDeviceContext(DC).AddObject(dcTextOut, @WideStr, X, Y);
@ -402,6 +422,368 @@ begin
end;}
end;
{------------------------------------------------------------------------------
Function: GetSystemMetrics
Params:
Returns: Nothing
------------------------------------------------------------------------------}
function TQtWidgetSet.GetSystemMetrics(nIndex: Integer): Integer;
var
P : Pointer;
begin
Assert(False, Format('Trace:> [TGtkWidgetSet.GetSystemMetrics] %d', [nIndex]));
case nIndex of
SM_ARRANGE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_ARRANGE ');
end;
SM_CLEANBOOT:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CLEANBOOT ');
end;
SM_CMOUSEBUTTONS:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CMOUSEBUTTONS ');
end;
SM_CXBORDER:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXBORDER ');
end;
SM_CYBORDER:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYBORDER ');
end;
SM_CXCURSOR:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXCURSOR ');
end;
SM_CYCURSOR:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYCURSOR ');
end;
SM_CXDOUBLECLK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXDOUBLECLK ');
end;
SM_CYDOUBLECLK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYDOUBLECLK ');
end;
SM_CXDRAG:
begin
Result := 2;
end;
SM_CYDRAG:
begin
Result := 2;
end;
SM_CXEDGE:
begin
Result := 2;
end;
SM_CYEDGE:
begin
Result := 2;
end;
SM_CXFIXEDFRAME:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXFIXEDFRAME ');
end;
SM_CYFIXEDFRAME:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYFIXEDFRAME ');
end;
SM_CXFULLSCREEN:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXFULLSCREEN ');
end;
SM_CYFULLSCREEN:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYFULLSCREEN ');
end;
SM_CXHSCROLL:
begin
{ P:=GetStyleWidget(lgsVerticalScrollbar);
Result := GTK_Widget(P)^.requisition.Width;}
end;
SM_CYHSCROLL:
begin
{ P:=GetStyleWidget(lgsHorizontalScrollbar);
Result := GTK_Widget(P)^.requisition.Height;}
end;
SM_CXHTHUMB:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXHTHUMB ');
end;
SM_CXICON:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXICON ');
end;
SM_CYICON:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYICON ');
end;
SM_CXICONSPACING:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXICONSPACING ');
end;
SM_CYICONSPACING:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYICONSPACING ');
end;
SM_CXMAXIMIZED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMAXIMIZED ');
end;
SM_CYMAXIMIZED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMAXIMIZED ');
end;
SM_CXMAXTRACK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMAXTRACK ');
end;
SM_CYMAXTRACK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMAXTRACK ');
end;
SM_CXMENUCHECK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMENUCHECK ');
end;
SM_CYMENUCHECK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMENUCHECK ');
end;
SM_CXMENUSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMENUSIZE ');
end;
SM_CYMENUSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMENUSIZE ');
end;
SM_CXMIN:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMIN ');
end;
SM_CYMIN:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMIN ');
end;
SM_CXMINIMIZED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMINIMIZED ');
end;
SM_CYMINIMIZED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMINIMIZED ');
end;
SM_CXMINSPACING:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMINSPACING ');
end;
SM_CYMINSPACING:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMINSPACING ');
end;
SM_CXMINTRACK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXMINTRACK ');
end;
SM_CYMINTRACK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMINTRACK ');
end;
SM_CXSCREEN:
begin
Result := QWidget_width(QApplication_desktop);
end;
SM_CYSCREEN:
begin
Result := QWidget_height(QApplication_desktop);
end;
SM_CXSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXSIZE ');
end;
SM_CYSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSIZE ');
end;
SM_CXSIZEFRAME:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXSIZEFRAME ');
end;
SM_CYSIZEFRAME:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSIZEFRAME ');
end;
SM_CXSMICON:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXSMICON ');
end;
SM_CYSMICON:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSMICON ');
end;
SM_CXSMSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CXSMSIZE ');
end;
SM_CYSMSIZE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSMSIZE ');
end;
SM_CXVSCROLL:
begin
{ P:=GetStyleWidget(lgsVerticalScrollbar);
Result := GTK_Widget(P)^.requisition.Width;}
end;
SM_CYVSCROLL:
begin
{ P:=GetStyleWidget(lgsHorizontalScrollbar);
Result := GTK_Widget(P)^.requisition.Height;}
end;
SM_CYCAPTION:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYCAPTION ');
end;
SM_CYKANJIWINDOW:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYKANJIWINDOW ');
end;
SM_CYMENU:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYMENU ');
end;
SM_CYSMCAPTION:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYSMCAPTION ');
end;
SM_CYVTHUMB:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_CYVTHUMB ');
end;
SM_DBCSENABLED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_DBCSENABLED ');
end;
SM_DEBUG:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_DEBUG ');
end;
SM_MENUDROPALIGNMENT:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_MENUDROPALIGNMENT');
end;
SM_MIDEASTENABLED:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_MIDEASTENABLED ');
end;
SM_MOUSEPRESENT:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_MOUSEPRESENT ');
end;
SM_MOUSEWHEELPRESENT:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_MOUSEWHEELPRESENT');
end;
SM_NETWORK:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_NETWORK ');
end;
SM_PENWINDOWS:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_PENWINDOWS ');
end;
SM_SECURE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_SECURE ');
end;
SM_SHOWSOUNDS:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_SHOWSOUNDS ');
end;
SM_SLOWMACHINE:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_SLOWMACHINE ');
end;
SM_SWAPBUTTON:
begin
Assert(False, 'Trace:TODO: [TGtkWidgetSet.GetSystemMetrics] --> SM_SWAPBUTTON ');
end;
else Result := 0;
end;
end;
{------------------------------------------------------------------------------
Function: InvalidateRect
Params: aHandle:
Rect:
bErase:
Returns:
------------------------------------------------------------------------------}
function TQtWidgetSet.InvalidateRect(aHandle : HWND; Rect : pRect;
bErase : Boolean) : Boolean;
begin
TQtWidget(aHandle).Update;
end;
{------------------------------------------------------------------------------
Function: LineTo
Params: none
Returns: Nothing
------------------------------------------------------------------------------}
function TQtWidgetSet.LineTo(DC: HDC; X, Y: Integer): Boolean;
begin
{$ifdef VerboseQtWinAPI}
WriteLn('WinAPI LineTo');
{$endif}
Result := False;
if not IsValidDC(DC) then Exit;
TQtDeviceContext(DC).drawLine(
TQtDeviceContext(DC).PenPos.X,
TQtDeviceContext(DC).PenPos.Y,
X, Y);
MoveToEx(DC, X, Y, nil);
Result := True;
end;
{------------------------------------------------------------------------------
Function: MoveToEx
Params: none
Returns: Nothing
------------------------------------------------------------------------------}
function TQtWidgetSet.MoveToEx(DC: HDC; X, Y: Integer; OldPoint: PPoint): Boolean;
begin
{$ifdef VerboseQtWinAPI}
WriteLn('WinAPI MoveToEx');
{$endif}
Result := False;
if not IsValidDC(DC) then Exit;
if (OldPoint <> nil) then OldPoint^ := TQtDeviceContext(DC).PenPos;
TQtDeviceContext(DC).PenPos := Point(X, Y);
Result := True;
end;
{------------------------------------------------------------------------------
Function: Rectangle
Params: DC: HDC; X1, Y1, X2, Y2: Integer
@ -418,6 +800,10 @@ begin
WriteLn('WinAPI Rectangle');
{$endif}
Result := False;
if not IsValidDC(DC) then Exit;
TQtDeviceContext(DC).drawRect(x1, y1, X2 - X1, Y2 - Y1);
Result := True;
@ -594,9 +980,9 @@ begin
Result := False;
if not IsValidDC(DC) then Exit;
WideStr := WideString(Str);
if DC = 0 then Exit;
// if TQtDeviceContext(DC).isDrawing then TQtDeviceContext(DC).drawText(X, Y, @WideStr)
// else TQtDeviceContext(DC).AddObject(dcTextOut, @WideStr, X, Y);

View File

@ -34,6 +34,7 @@ function CreateCompatibleDC(DC: HDC): HDC; override;
function DrawText(DC: HDC; Str: PChar; Count: Integer; var Rect: TRect; Flags: Cardinal): Integer; override;
function Ellipse(DC: HDC; x1, y1, x2, y2: Integer): Boolean; override;
function EndPaint(Handle: hwnd; var PS: TPaintStruct): Integer; override;
function ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: PChar; Count: Longint; Dx: PInteger): Boolean; override;
@ -45,6 +46,13 @@ function GetDeviceRawImageDescription(DC: HDC; Desc: PRawImageDescription): bool
function GetDC(hWnd: HWND): HDC; override;
function GetRawImageFromDevice(SrcDC: HDC; const SrcRect: TRect; var NewRawImage: TRawImage): boolean; override;
function GetRawImageFromBitmap(SrcBitmap, SrcMaskBitmap: HBITMAP; const SrcRect: TRect; var NewRawImage: TRawImage): boolean; Override;
function GetSystemMetrics(nIndex: Integer): Integer; override;
function InvalidateRect(aHandle : HWND; Rect : pRect; bErase : Boolean) : Boolean; override;
function LineTo(DC: HDC; X, Y: Integer): Boolean; override;
function MoveToEx(DC: HDC; X, Y: Integer; OldPoint: PPoint): Boolean; override;
function Rectangle(DC: HDC; X1, Y1, X2, Y2: Integer): Boolean; override;
function ReleaseDC(hWnd: HWND; DC: HDC): Integer; override;

View File

@ -63,6 +63,7 @@ type
class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): HWND; override;
class procedure DestroyHandle(const AWinControl: TWinControl); override;
class procedure Invalidate(const AWinControl: TWinControl); override;
public
class procedure SetBounds(const AWinControl: TWinControl; const ALeft, ATop, AWidth, AHeight: Integer); override;
class procedure SetPos(const AWinControl: TWinControl; const ALeft, ATop: Integer); override;
@ -147,6 +148,16 @@ begin
AWinControl.Handle := 0;
end;
{------------------------------------------------------------------------------
Method: TQtWSWinControl.Invalidate
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TQtWSWinControl.Invalidate(const AWinControl: TWinControl);
begin
TQtWidget(AWinControl.Handle).Update;
end;
{------------------------------------------------------------------------------
Method: TQtWSWinControl.SetBounds
Params: AWinControl - the calling object

View File

@ -600,7 +600,7 @@ end;
------------------------------------------------------------------------------}
class procedure TQtWSRadioButton.DestroyHandle(const AWinControl: TWinControl);
begin
TQtRadioButton(AWinControl.Handle).Free;
// TQtRadioButton(AWinControl.Handle).Free;
AWinControl.Handle := 0;
end;