%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 2008-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. %% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. %% %% %CopyrightEnd% %% This file is generated DO NOT EDIT %% @doc See external documentation: wxDC. %% @type wxDC(). An object reference, The representation is internal %% and can be changed without notice. It can't be used for comparsion %% stored on disc or distributed for use on other nodes. -module(wxDC). -include("wxe.hrl"). -export([blit/5,blit/6,calcBoundingBox/3,clear/1,computeScaleAndOrigin/1,crossHair/2, destroyClippingRegion/1,deviceToLogicalX/2,deviceToLogicalXRel/2, deviceToLogicalY/2,deviceToLogicalYRel/2,drawArc/4,drawBitmap/3,drawBitmap/4, drawCheckMark/2,drawCircle/3,drawEllipse/2,drawEllipse/3,drawEllipticArc/5, drawIcon/3,drawLabel/3,drawLabel/4,drawLine/3,drawLines/2,drawLines/3, drawPoint/2,drawPolygon/2,drawPolygon/3,drawRectangle/2,drawRectangle/3, drawRotatedText/4,drawRoundedRectangle/3,drawRoundedRectangle/4, drawText/3,endDoc/1,endPage/1,floodFill/3,floodFill/4,getBackground/1, getBackgroundMode/1,getBrush/1,getCharHeight/1,getCharWidth/1,getClippingBox/1, getFont/1,getLayoutDirection/1,getLogicalFunction/1,getMapMode/1, getMultiLineTextExtent/2,getMultiLineTextExtent/3,getPPI/1,getPartialTextExtents/2, getPen/1,getPixel/2,getSize/1,getSizeMM/1,getTextBackground/1,getTextExtent/2, getTextExtent/3,getTextForeground/1,getUserScale/1,gradientFillConcentric/4, gradientFillConcentric/5,gradientFillLinear/4,gradientFillLinear/5, isOk/1,logicalToDeviceX/2,logicalToDeviceXRel/2,logicalToDeviceY/2, logicalToDeviceYRel/2,maxX/1,maxY/1,minX/1,minY/1,resetBoundingBox/1, setAxisOrientation/3,setBackground/2,setBackgroundMode/2,setBrush/2, setClippingRegion/2,setClippingRegion/3,setDeviceOrigin/3,setFont/2, setLayoutDirection/2,setLogicalFunction/2,setMapMode/2,setPalette/2, setPen/2,setTextBackground/2,setTextForeground/2,setUserScale/3,startDoc/2, startPage/1]). %% inherited exports -export([parent_class/1]). -export_type([wxDC/0]). -deprecated([computeScaleAndOrigin/1]). %% @hidden parent_class(_Class) -> erlang:error({badtype, ?MODULE}). -type wxDC() :: wx:wx_object(). %% @equiv blit(This,DestPt,Sz,Source,SrcPt, []) -spec blit(This, DestPt, Sz, Source, SrcPt) -> boolean() when This::wxDC(), DestPt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Source::wxDC(), SrcPt::{X::integer(), Y::integer()}. blit(This,DestPt={DestPtX,DestPtY},Sz={SzW,SzH},Source,SrcPt={SrcPtX,SrcPtY}) when is_record(This, wx_ref),is_integer(DestPtX),is_integer(DestPtY),is_integer(SzW),is_integer(SzH),is_record(Source, wx_ref),is_integer(SrcPtX),is_integer(SrcPtY) -> blit(This,DestPt,Sz,Source,SrcPt, []). %% @doc See external documentation. -spec blit(This, DestPt, Sz, Source, SrcPt, [Option]) -> boolean() when This::wxDC(), DestPt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Source::wxDC(), SrcPt::{X::integer(), Y::integer()}, Option :: {rop, integer()} | {useMask, boolean()} | {srcPtMask, {X::integer(), Y::integer()}}. blit(#wx_ref{type=ThisT,ref=ThisRef},{DestPtX,DestPtY},{SzW,SzH},#wx_ref{type=SourceT,ref=SourceRef},{SrcPtX,SrcPtY}, Options) when is_integer(DestPtX),is_integer(DestPtY),is_integer(SzW),is_integer(SzH),is_integer(SrcPtX),is_integer(SrcPtY),is_list(Options) -> ?CLASS(ThisT,wxDC), ?CLASS(SourceT,wxDC), MOpts = fun({rop, Rop}, Acc) -> [<<1:32/?UI,Rop:32/?UI>>|Acc]; ({useMask, UseMask}, Acc) -> [<<2:32/?UI,(wxe_util:from_bool(UseMask)):32/?UI>>|Acc]; ({srcPtMask, {SrcPtMaskX,SrcPtMaskY}}, Acc) -> [<<3:32/?UI,SrcPtMaskX:32/?UI,SrcPtMaskY:32/?UI,0:32>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:call(?wxDC_Blit, <>). %% @doc See external documentation. -spec calcBoundingBox(This, X, Y) -> ok when This::wxDC(), X::integer(), Y::integer(). calcBoundingBox(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_CalcBoundingBox, <>). %% @doc See external documentation. -spec clear(This) -> ok when This::wxDC(). clear(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_Clear, <>). %% @doc See external documentation. -spec computeScaleAndOrigin(This) -> ok when This::wxDC(). computeScaleAndOrigin(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_ComputeScaleAndOrigin, <>). %% @doc See external documentation. -spec crossHair(This, Pt) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}. crossHair(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_CrossHair, <>). %% @doc See external documentation. -spec destroyClippingRegion(This) -> ok when This::wxDC(). destroyClippingRegion(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DestroyClippingRegion, <>). %% @doc See external documentation. -spec deviceToLogicalX(This, X) -> integer() when This::wxDC(), X::integer(). deviceToLogicalX(#wx_ref{type=ThisT,ref=ThisRef},X) when is_integer(X) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_DeviceToLogicalX, <>). %% @doc See external documentation. -spec deviceToLogicalXRel(This, X) -> integer() when This::wxDC(), X::integer(). deviceToLogicalXRel(#wx_ref{type=ThisT,ref=ThisRef},X) when is_integer(X) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_DeviceToLogicalXRel, <>). %% @doc See external documentation. -spec deviceToLogicalY(This, Y) -> integer() when This::wxDC(), Y::integer(). deviceToLogicalY(#wx_ref{type=ThisT,ref=ThisRef},Y) when is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_DeviceToLogicalY, <>). %% @doc See external documentation. -spec deviceToLogicalYRel(This, Y) -> integer() when This::wxDC(), Y::integer(). deviceToLogicalYRel(#wx_ref{type=ThisT,ref=ThisRef},Y) when is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_DeviceToLogicalYRel, <>). %% @doc See external documentation. -spec drawArc(This, Pt1, Pt2, Centre) -> ok when This::wxDC(), Pt1::{X::integer(), Y::integer()}, Pt2::{X::integer(), Y::integer()}, Centre::{X::integer(), Y::integer()}. drawArc(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y},{CentreX,CentreY}) when is_integer(Pt1X),is_integer(Pt1Y),is_integer(Pt2X),is_integer(Pt2Y),is_integer(CentreX),is_integer(CentreY) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawArc, <>). %% @equiv drawBitmap(This,Bmp,Pt, []) -spec drawBitmap(This, Bmp, Pt) -> ok when This::wxDC(), Bmp::wxBitmap:wxBitmap(), Pt::{X::integer(), Y::integer()}. drawBitmap(This,Bmp,Pt={PtX,PtY}) when is_record(This, wx_ref),is_record(Bmp, wx_ref),is_integer(PtX),is_integer(PtY) -> drawBitmap(This,Bmp,Pt, []). %% @doc See external documentation. -spec drawBitmap(This, Bmp, Pt, [Option]) -> ok when This::wxDC(), Bmp::wxBitmap:wxBitmap(), Pt::{X::integer(), Y::integer()}, Option :: {useMask, boolean()}. drawBitmap(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BmpT,ref=BmpRef},{PtX,PtY}, Options) when is_integer(PtX),is_integer(PtY),is_list(Options) -> ?CLASS(ThisT,wxDC), ?CLASS(BmpT,wxBitmap), MOpts = fun({useMask, UseMask}, Acc) -> [<<1:32/?UI,(wxe_util:from_bool(UseMask)):32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:cast(?wxDC_DrawBitmap, <>). %% @doc See external documentation. -spec drawCheckMark(This, Rect) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawCheckMark(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawCheckMark, <>). %% @doc See external documentation. -spec drawCircle(This, Pt, Radius) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Radius::integer(). drawCircle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},Radius) when is_integer(PtX),is_integer(PtY),is_integer(Radius) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawCircle, <>). %% @doc See external documentation. -spec drawEllipse(This, Rect) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawEllipse_1, <>). %% @doc See external documentation. -spec drawEllipse(This, Pt, Sz) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. drawEllipse(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawEllipse_2, <>). %% @doc See external documentation. -spec drawEllipticArc(This, Pt, Sz, Sa, Ea) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Sa::number(), Ea::number(). drawEllipticArc(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Sa,Ea) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH),is_number(Sa),is_number(Ea) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawEllipticArc, <>). %% @doc See external documentation. -spec drawIcon(This, Icon, Pt) -> ok when This::wxDC(), Icon::wxIcon:wxIcon(), Pt::{X::integer(), Y::integer()}. drawIcon(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=IconT,ref=IconRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> ?CLASS(ThisT,wxDC), ?CLASS(IconT,wxIcon), wxe_util:cast(?wxDC_DrawIcon, <>). %% @equiv drawLabel(This,Text,Rect, []) -spec drawLabel(This, Text, Rect) -> ok when This::wxDC(), Text::unicode:chardata(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawLabel(This,Text,Rect={RectX,RectY,RectW,RectH}) when is_record(This, wx_ref),is_list(Text),is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> drawLabel(This,Text,Rect, []). %% @doc See external documentation. -spec drawLabel(This, Text, Rect, [Option]) -> ok when This::wxDC(), Text::unicode:chardata(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, Option :: {alignment, integer()} | {indexAccel, integer()}. drawLabel(#wx_ref{type=ThisT,ref=ThisRef},Text,{RectX,RectY,RectW,RectH}, Options) when is_list(Text),is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),is_list(Options) -> ?CLASS(ThisT,wxDC), Text_UC = unicode:characters_to_binary([Text,0]), MOpts = fun({alignment, Alignment}, Acc) -> [<<1:32/?UI,Alignment:32/?UI>>|Acc]; ({indexAccel, IndexAccel}, Acc) -> [<<2:32/?UI,IndexAccel:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:cast(?wxDC_DrawLabel, <>). %% @doc See external documentation. -spec drawLine(This, Pt1, Pt2) -> ok when This::wxDC(), Pt1::{X::integer(), Y::integer()}, Pt2::{X::integer(), Y::integer()}. drawLine(#wx_ref{type=ThisT,ref=ThisRef},{Pt1X,Pt1Y},{Pt2X,Pt2Y}) when is_integer(Pt1X),is_integer(Pt1Y),is_integer(Pt2X),is_integer(Pt2Y) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawLine, <>). %% @equiv drawLines(This,Points, []) -spec drawLines(This, Points) -> ok when This::wxDC(), Points::[{X::integer(), Y::integer()}]. drawLines(This,Points) when is_record(This, wx_ref),is_list(Points) -> drawLines(This,Points, []). %% @doc See external documentation. -spec drawLines(This, Points, [Option]) -> ok when This::wxDC(), Points::[{X::integer(), Y::integer()}], Option :: {xoffset, integer()} | {yoffset, integer()}. drawLines(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) when is_list(Points),is_list(Options) -> ?CLASS(ThisT,wxDC), MOpts = fun({xoffset, Xoffset}, Acc) -> [<<1:32/?UI,Xoffset:32/?UI>>|Acc]; ({yoffset, Yoffset}, Acc) -> [<<2:32/?UI,Yoffset:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:cast(?wxDC_DrawLines, <> || {X,Y} <- Points>>)/binary, BinOpt/binary>>). %% @equiv drawPolygon(This,Points, []) -spec drawPolygon(This, Points) -> ok when This::wxDC(), Points::[{X::integer(), Y::integer()}]. drawPolygon(This,Points) when is_record(This, wx_ref),is_list(Points) -> drawPolygon(This,Points, []). %% @doc See external documentation. -spec drawPolygon(This, Points, [Option]) -> ok when This::wxDC(), Points::[{X::integer(), Y::integer()}], Option :: {xoffset, integer()} | {yoffset, integer()} | {fillStyle, integer()}. drawPolygon(#wx_ref{type=ThisT,ref=ThisRef},Points, Options) when is_list(Points),is_list(Options) -> ?CLASS(ThisT,wxDC), MOpts = fun({xoffset, Xoffset}, Acc) -> [<<1:32/?UI,Xoffset:32/?UI>>|Acc]; ({yoffset, Yoffset}, Acc) -> [<<2:32/?UI,Yoffset:32/?UI>>|Acc]; ({fillStyle, FillStyle}, Acc) -> [<<3:32/?UI,FillStyle:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:cast(?wxDC_DrawPolygon, <> || {X,Y} <- Points>>)/binary, BinOpt/binary>>). %% @doc See external documentation. -spec drawPoint(This, Pt) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}. drawPoint(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawPoint, <>). %% @doc See external documentation. -spec drawRectangle(This, Rect) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawRectangle_1, <>). %% @doc See external documentation. -spec drawRectangle(This, Pt, Sz) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. drawRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawRectangle_2, <>). %% @doc See external documentation. -spec drawRotatedText(This, Text, Pt, Angle) -> ok when This::wxDC(), Text::unicode:chardata(), Pt::{X::integer(), Y::integer()}, Angle::number(). drawRotatedText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY},Angle) when is_list(Text),is_integer(PtX),is_integer(PtY),is_number(Angle) -> ?CLASS(ThisT,wxDC), Text_UC = unicode:characters_to_binary([Text,0]), wxe_util:cast(?wxDC_DrawRotatedText, <>). %% @doc See external documentation. -spec drawRoundedRectangle(This, R, Radius) -> ok when This::wxDC(), R::{X::integer(), Y::integer(), W::integer(), H::integer()}, Radius::number(). drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{RX,RY,RW,RH},Radius) when is_integer(RX),is_integer(RY),is_integer(RW),is_integer(RH),is_number(Radius) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawRoundedRectangle_2, <>). %% @doc See external documentation. -spec drawRoundedRectangle(This, Pt, Sz, Radius) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}, Radius::number(). drawRoundedRectangle(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH},Radius) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH),is_number(Radius) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_DrawRoundedRectangle_3, <>). %% @doc See external documentation. -spec drawText(This, Text, Pt) -> ok when This::wxDC(), Text::unicode:chardata(), Pt::{X::integer(), Y::integer()}. drawText(#wx_ref{type=ThisT,ref=ThisRef},Text,{PtX,PtY}) when is_list(Text),is_integer(PtX),is_integer(PtY) -> ?CLASS(ThisT,wxDC), Text_UC = unicode:characters_to_binary([Text,0]), wxe_util:cast(?wxDC_DrawText, <>). %% @doc See external documentation. -spec endDoc(This) -> ok when This::wxDC(). endDoc(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_EndDoc, <>). %% @doc See external documentation. -spec endPage(This) -> ok when This::wxDC(). endPage(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_EndPage, <>). %% @equiv floodFill(This,Pt,Col, []) -spec floodFill(This, Pt, Col) -> boolean() when This::wxDC(), Pt::{X::integer(), Y::integer()}, Col::wx:wx_colour(). floodFill(This,Pt={PtX,PtY},Col) when is_record(This, wx_ref),is_integer(PtX),is_integer(PtY),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4 -> floodFill(This,Pt,Col, []). %% @doc See external documentation. -spec floodFill(This, Pt, Col, [Option]) -> boolean() when This::wxDC(), Pt::{X::integer(), Y::integer()}, Col::wx:wx_colour(), Option :: {style, integer()}. floodFill(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},Col, Options) when is_integer(PtX),is_integer(PtY),tuple_size(Col) =:= 3; tuple_size(Col) =:= 4,is_list(Options) -> ?CLASS(ThisT,wxDC), MOpts = fun({style, Style}, Acc) -> [<<1:32/?UI,Style:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:call(?wxDC_FloodFill, <>). %% @doc See external documentation. -spec getBackground(This) -> wxBrush:wxBrush() when This::wxDC(). getBackground(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetBackground, <>). %% @doc See external documentation. -spec getBackgroundMode(This) -> integer() when This::wxDC(). getBackgroundMode(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetBackgroundMode, <>). %% @doc See external documentation. -spec getBrush(This) -> wxBrush:wxBrush() when This::wxDC(). getBrush(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetBrush, <>). %% @doc See external documentation. -spec getCharHeight(This) -> integer() when This::wxDC(). getCharHeight(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetCharHeight, <>). %% @doc See external documentation. -spec getCharWidth(This) -> integer() when This::wxDC(). getCharWidth(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetCharWidth, <>). %% @doc See external documentation. -spec getClippingBox(This) -> Result when Result ::{X::integer(), Y::integer(), W::integer(), H::integer()}, This::wxDC(). getClippingBox(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetClippingBox, <>). %% @doc See external documentation. -spec getFont(This) -> wxFont:wxFont() when This::wxDC(). getFont(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetFont, <>). %% @doc See external documentation. %%
Res = ?wxLayout_Default | ?wxLayout_LeftToRight | ?wxLayout_RightToLeft -spec getLayoutDirection(This) -> wx:wx_enum() when This::wxDC(). getLayoutDirection(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetLayoutDirection, <>). %% @doc See external documentation. -spec getLogicalFunction(This) -> integer() when This::wxDC(). getLogicalFunction(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetLogicalFunction, <>). %% @doc See external documentation. -spec getMapMode(This) -> integer() when This::wxDC(). getMapMode(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetMapMode, <>). %% @doc See external documentation. -spec getMultiLineTextExtent(This, String) -> {W::integer(), H::integer()} when This::wxDC(), String::unicode:chardata(). getMultiLineTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String) when is_list(String) -> ?CLASS(ThisT,wxDC), String_UC = unicode:characters_to_binary([String,0]), wxe_util:call(?wxDC_GetMultiLineTextExtent_1, <>). %% @doc See external documentation. -spec getMultiLineTextExtent(This, String, [Option]) -> {Width::integer(), Height::integer(), HeightLine::integer()} when This::wxDC(), String::unicode:chardata(), Option :: {font, wxFont:wxFont()}. getMultiLineTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String, Options) when is_list(String),is_list(Options) -> ?CLASS(ThisT,wxDC), String_UC = unicode:characters_to_binary([String,0]), MOpts = fun({font, #wx_ref{type=FontT,ref=FontRef}}, Acc) -> ?CLASS(FontT,wxFont),[<<1:32/?UI,FontRef:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:call(?wxDC_GetMultiLineTextExtent_4, <>). %% @doc See external documentation. -spec getPartialTextExtents(This, Text) -> Result when Result ::{Res ::boolean(), Widths::[integer()]}, This::wxDC(), Text::unicode:chardata(). getPartialTextExtents(#wx_ref{type=ThisT,ref=ThisRef},Text) when is_list(Text) -> ?CLASS(ThisT,wxDC), Text_UC = unicode:characters_to_binary([Text,0]), wxe_util:call(?wxDC_GetPartialTextExtents, <>). %% @doc See external documentation. -spec getPen(This) -> wxPen:wxPen() when This::wxDC(). getPen(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetPen, <>). %% @doc See external documentation. -spec getPixel(This, Pt) -> Result when Result ::{Res ::boolean(), Col::wx:wx_colour4()}, This::wxDC(), Pt::{X::integer(), Y::integer()}. getPixel(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY}) when is_integer(PtX),is_integer(PtY) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetPixel, <>). %% @doc See external documentation. -spec getPPI(This) -> {W::integer(), H::integer()} when This::wxDC(). getPPI(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetPPI, <>). %% @doc See external documentation. -spec getSize(This) -> {W::integer(), H::integer()} when This::wxDC(). getSize(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetSize, <>). %% @doc See external documentation. -spec getSizeMM(This) -> {W::integer(), H::integer()} when This::wxDC(). getSizeMM(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetSizeMM, <>). %% @doc See external documentation. -spec getTextBackground(This) -> wx:wx_colour4() when This::wxDC(). getTextBackground(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetTextBackground, <>). %% @doc See external documentation. -spec getTextExtent(This, String) -> {W::integer(), H::integer()} when This::wxDC(), String::unicode:chardata(). getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String) when is_list(String) -> ?CLASS(ThisT,wxDC), String_UC = unicode:characters_to_binary([String,0]), wxe_util:call(?wxDC_GetTextExtent_1, <>). %% @doc See external documentation. -spec getTextExtent(This, String, [Option]) -> Result when Result :: {X::integer(), Y::integer(), Descent::integer(), ExternalLeading::integer()}, This::wxDC(), String::unicode:chardata(), Option :: {theFont, wxFont:wxFont()}. getTextExtent(#wx_ref{type=ThisT,ref=ThisRef},String, Options) when is_list(String),is_list(Options) -> ?CLASS(ThisT,wxDC), String_UC = unicode:characters_to_binary([String,0]), MOpts = fun({theFont, #wx_ref{type=TheFontT,ref=TheFontRef}}, Acc) -> ?CLASS(TheFontT,wxFont),[<<1:32/?UI,TheFontRef:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:call(?wxDC_GetTextExtent_4, <>). %% @doc See external documentation. -spec getTextForeground(This) -> wx:wx_colour4() when This::wxDC(). getTextForeground(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetTextForeground, <>). %% @doc See external documentation. -spec getUserScale(This) -> {X::number(), Y::number()} when This::wxDC(). getUserScale(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_GetUserScale, <>). %% @doc See external documentation. -spec gradientFillConcentric(This, Rect, InitialColour, DestColour) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(). gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4 -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_GradientFillConcentric_3, <>). %% @doc See external documentation. -spec gradientFillConcentric(This, Rect, InitialColour, DestColour, CircleCenter) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(), CircleCenter::{X::integer(), Y::integer()}. gradientFillConcentric(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour,{CircleCenterX,CircleCenterY}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4,is_integer(CircleCenterX),is_integer(CircleCenterY) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_GradientFillConcentric_4, <>). %% @equiv gradientFillLinear(This,Rect,InitialColour,DestColour, []) -spec gradientFillLinear(This, Rect, InitialColour, DestColour) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(). gradientFillLinear(This,Rect={RectX,RectY,RectW,RectH},InitialColour,DestColour) when is_record(This, wx_ref),is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4 -> gradientFillLinear(This,Rect,InitialColour,DestColour, []). %% @doc See external documentation. %%
NDirection = ?wxLEFT | ?wxRIGHT | ?wxUP | ?wxDOWN | ?wxTOP | ?wxBOTTOM | ?wxNORTH | ?wxSOUTH | ?wxWEST | ?wxEAST | ?wxALL -spec gradientFillLinear(This, Rect, InitialColour, DestColour, [Option]) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}, InitialColour::wx:wx_colour(), DestColour::wx:wx_colour(), Option :: {nDirection, wx:wx_enum()}. gradientFillLinear(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH},InitialColour,DestColour, Options) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH),tuple_size(InitialColour) =:= 3; tuple_size(InitialColour) =:= 4,tuple_size(DestColour) =:= 3; tuple_size(DestColour) =:= 4,is_list(Options) -> ?CLASS(ThisT,wxDC), MOpts = fun({nDirection, NDirection}, Acc) -> [<<1:32/?UI,NDirection:32/?UI>>|Acc]; (BadOpt, _) -> erlang:error({badoption, BadOpt}) end, BinOpt = list_to_binary(lists:foldl(MOpts, [<<0:32>>], Options)), wxe_util:cast(?wxDC_GradientFillLinear, <>). %% @doc See external documentation. -spec logicalToDeviceX(This, X) -> integer() when This::wxDC(), X::integer(). logicalToDeviceX(#wx_ref{type=ThisT,ref=ThisRef},X) when is_integer(X) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_LogicalToDeviceX, <>). %% @doc See external documentation. -spec logicalToDeviceXRel(This, X) -> integer() when This::wxDC(), X::integer(). logicalToDeviceXRel(#wx_ref{type=ThisT,ref=ThisRef},X) when is_integer(X) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_LogicalToDeviceXRel, <>). %% @doc See external documentation. -spec logicalToDeviceY(This, Y) -> integer() when This::wxDC(), Y::integer(). logicalToDeviceY(#wx_ref{type=ThisT,ref=ThisRef},Y) when is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_LogicalToDeviceY, <>). %% @doc See external documentation. -spec logicalToDeviceYRel(This, Y) -> integer() when This::wxDC(), Y::integer(). logicalToDeviceYRel(#wx_ref{type=ThisT,ref=ThisRef},Y) when is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_LogicalToDeviceYRel, <>). %% @doc See external documentation. -spec maxX(This) -> integer() when This::wxDC(). maxX(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_MaxX, <>). %% @doc See external documentation. -spec maxY(This) -> integer() when This::wxDC(). maxY(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_MaxY, <>). %% @doc See external documentation. -spec minX(This) -> integer() when This::wxDC(). minX(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_MinX, <>). %% @doc See external documentation. -spec minY(This) -> integer() when This::wxDC(). minY(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_MinY, <>). %% @doc See external documentation. -spec isOk(This) -> boolean() when This::wxDC(). isOk(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:call(?wxDC_IsOk, <>). %% @doc See external documentation. -spec resetBoundingBox(This) -> ok when This::wxDC(). resetBoundingBox(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_ResetBoundingBox, <>). %% @doc See external documentation. -spec setAxisOrientation(This, XLeftRight, YBottomUp) -> ok when This::wxDC(), XLeftRight::boolean(), YBottomUp::boolean(). setAxisOrientation(#wx_ref{type=ThisT,ref=ThisRef},XLeftRight,YBottomUp) when is_boolean(XLeftRight),is_boolean(YBottomUp) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetAxisOrientation, <>). %% @doc See external documentation. -spec setBackground(This, Brush) -> ok when This::wxDC(), Brush::wxBrush:wxBrush(). setBackground(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(BrushT,wxBrush), wxe_util:cast(?wxDC_SetBackground, <>). %% @doc See external documentation. -spec setBackgroundMode(This, Mode) -> ok when This::wxDC(), Mode::integer(). setBackgroundMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetBackgroundMode, <>). %% @doc See external documentation. -spec setBrush(This, Brush) -> ok when This::wxDC(), Brush::wxBrush:wxBrush(). setBrush(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=BrushT,ref=BrushRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(BrushT,wxBrush), wxe_util:cast(?wxDC_SetBrush, <>). %% @doc See external documentation. %%
Also:
%% setClippingRegion(This, Rect) -> ok when
%% This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}.
%% -spec setClippingRegion(This, Region) -> ok when This::wxDC(), Region::wxRegion:wxRegion(); (This, Rect) -> ok when This::wxDC(), Rect::{X::integer(), Y::integer(), W::integer(), H::integer()}. setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=RegionT,ref=RegionRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(RegionT,wxRegion), wxe_util:cast(?wxDC_SetClippingRegion_1_0, <>); setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},{RectX,RectY,RectW,RectH}) when is_integer(RectX),is_integer(RectY),is_integer(RectW),is_integer(RectH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetClippingRegion_1_1, <>). %% @doc See external documentation. -spec setClippingRegion(This, Pt, Sz) -> ok when This::wxDC(), Pt::{X::integer(), Y::integer()}, Sz::{W::integer(), H::integer()}. setClippingRegion(#wx_ref{type=ThisT,ref=ThisRef},{PtX,PtY},{SzW,SzH}) when is_integer(PtX),is_integer(PtY),is_integer(SzW),is_integer(SzH) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetClippingRegion_2, <>). %% @doc See external documentation. -spec setDeviceOrigin(This, X, Y) -> ok when This::wxDC(), X::integer(), Y::integer(). setDeviceOrigin(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_integer(X),is_integer(Y) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetDeviceOrigin, <>). %% @doc See external documentation. -spec setFont(This, Font) -> ok when This::wxDC(), Font::wxFont:wxFont(). setFont(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=FontT,ref=FontRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(FontT,wxFont), wxe_util:cast(?wxDC_SetFont, <>). %% @doc See external documentation. %%
Dir = ?wxLayout_Default | ?wxLayout_LeftToRight | ?wxLayout_RightToLeft -spec setLayoutDirection(This, Dir) -> ok when This::wxDC(), Dir::wx:wx_enum(). setLayoutDirection(#wx_ref{type=ThisT,ref=ThisRef},Dir) when is_integer(Dir) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetLayoutDirection, <>). %% @doc See external documentation. -spec setLogicalFunction(This, Function) -> ok when This::wxDC(), Function::integer(). setLogicalFunction(#wx_ref{type=ThisT,ref=ThisRef},Function) when is_integer(Function) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetLogicalFunction, <>). %% @doc See external documentation. -spec setMapMode(This, Mode) -> ok when This::wxDC(), Mode::integer(). setMapMode(#wx_ref{type=ThisT,ref=ThisRef},Mode) when is_integer(Mode) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetMapMode, <>). %% @doc See external documentation. -spec setPalette(This, Palette) -> ok when This::wxDC(), Palette::wxPalette:wxPalette(). setPalette(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PaletteT,ref=PaletteRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(PaletteT,wxPalette), wxe_util:cast(?wxDC_SetPalette, <>). %% @doc See external documentation. -spec setPen(This, Pen) -> ok when This::wxDC(), Pen::wxPen:wxPen(). setPen(#wx_ref{type=ThisT,ref=ThisRef},#wx_ref{type=PenT,ref=PenRef}) -> ?CLASS(ThisT,wxDC), ?CLASS(PenT,wxPen), wxe_util:cast(?wxDC_SetPen, <>). %% @doc See external documentation. -spec setTextBackground(This, Colour) -> ok when This::wxDC(), Colour::wx:wx_colour(). setTextBackground(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetTextBackground, <>). %% @doc See external documentation. -spec setTextForeground(This, Colour) -> ok when This::wxDC(), Colour::wx:wx_colour(). setTextForeground(#wx_ref{type=ThisT,ref=ThisRef},Colour) when tuple_size(Colour) =:= 3; tuple_size(Colour) =:= 4 -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetTextForeground, <>). %% @doc See external documentation. -spec setUserScale(This, X, Y) -> ok when This::wxDC(), X::number(), Y::number(). setUserScale(#wx_ref{type=ThisT,ref=ThisRef},X,Y) when is_number(X),is_number(Y) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_SetUserScale, <>). %% @doc See external documentation. -spec startDoc(This, Message) -> boolean() when This::wxDC(), Message::unicode:chardata(). startDoc(#wx_ref{type=ThisT,ref=ThisRef},Message) when is_list(Message) -> ?CLASS(ThisT,wxDC), Message_UC = unicode:characters_to_binary([Message,0]), wxe_util:call(?wxDC_StartDoc, <>). %% @doc See external documentation. -spec startPage(This) -> ok when This::wxDC(). startPage(#wx_ref{type=ThisT,ref=ThisRef}) -> ?CLASS(ThisT,wxDC), wxe_util:cast(?wxDC_StartPage, <>).