No Description

class_q_c_p_painter.tex 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. \hypertarget{class_q_c_p_painter}{}\section{Q\+C\+P\+Painter Class Reference}
  2. \label{class_q_c_p_painter}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  3. Q\+Painter subclass used internally.
  4. Inheritance diagram for Q\+C\+P\+Painter\+:\begin{figure}[H]
  5. \begin{center}
  6. \leavevmode
  7. \includegraphics[height=2.000000cm]{class_q_c_p_painter}
  8. \end{center}
  9. \end{figure}
  10. \subsection*{Public Types}
  11. \begin{DoxyCompactItemize}
  12. \item
  13. enum \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156d}{Painter\+Mode} \{ \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156da3bac5e87e3d58553b297befb4eee2a45}{pm\+Default} = 0x00,
  14. \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156daeda679cd55dcd468341d07d48a30b6ab}{pm\+Vectorized} = 0x01,
  15. \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dae78f9a4eb277a5f9207f50850a51a0b0}{pm\+No\+Caching} = 0x02,
  16. \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dac1e481bfaf408f2bd2eaad3ec341f36b}{pm\+Non\+Cosmetic} = 0x04
  17. \}
  18. \end{DoxyCompactItemize}
  19. \subsection*{Public Member Functions}
  20. \begin{DoxyCompactItemize}
  21. \item
  22. \hyperlink{class_q_c_p_painter_a3c52cb0f43f34573d29bea487da28fe8}{Q\+C\+P\+Painter} ()
  23. \item
  24. \hyperlink{class_q_c_p_painter_ae58dbb1795ddc4351ab324dc9898aa22}{Q\+C\+P\+Painter} (Q\+Paint\+Device $\ast$device)
  25. \item
  26. \hypertarget{class_q_c_p_painter_a13370d7996315a7150be2fc868da3d4a}{}bool {\bfseries antialiasing} () const \label{class_q_c_p_painter_a13370d7996315a7150be2fc868da3d4a}
  27. \item
  28. \hypertarget{class_q_c_p_painter_a99b89eaf5363faaa1e1e6162856f436c}{}Painter\+Modes {\bfseries modes} () const \label{class_q_c_p_painter_a99b89eaf5363faaa1e1e6162856f436c}
  29. \item
  30. void \hyperlink{class_q_c_p_painter_aaba1deb9188244d9ea65b035112b4d05}{set\+Antialiasing} (bool enabled)
  31. \item
  32. void \hyperlink{class_q_c_p_painter_af6b1f7d2bbc548b10aa55d8b6ad49577}{set\+Mode} (\hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156d}{Painter\+Mode} mode, bool enabled=true)
  33. \item
  34. void \hyperlink{class_q_c_p_painter_a5fac93adc29c7c4dea9f3e171e9e635e}{set\+Modes} (Painter\+Modes modes)
  35. \item
  36. bool \hyperlink{class_q_c_p_painter_a0a41146ccd619dceab6e25ec7b46b044}{begin} (Q\+Paint\+Device $\ast$device)
  37. \item
  38. void \hyperlink{class_q_c_p_painter_af9c7a4cd1791403901f8c5b82a150195}{set\+Pen} (const Q\+Pen \&pen)
  39. \item
  40. void \hyperlink{class_q_c_p_painter_a5c4d88f21564e156e88ef807f7cf0003}{set\+Pen} (const Q\+Color \&color)
  41. \item
  42. void \hyperlink{class_q_c_p_painter_a25e76095aae41da0d08035060e5f81ca}{set\+Pen} (Qt\+::\+Pen\+Style pen\+Style)
  43. \item
  44. void \hyperlink{class_q_c_p_painter_a0b4b1b9bd495e182c731774dc800e6e0}{draw\+Line} (const Q\+Line\+F \&line)
  45. \item
  46. \hypertarget{class_q_c_p_painter_ad1638db27929491b3f1beb74d6cbad5e}{}void {\bfseries draw\+Line} (const Q\+Point\+F \&p1, const Q\+Point\+F \&p2)\label{class_q_c_p_painter_ad1638db27929491b3f1beb74d6cbad5e}
  47. \item
  48. void \hyperlink{class_q_c_p_painter_a8fd6821ee6fecbfa04444c9062912abd}{save} ()
  49. \item
  50. void \hyperlink{class_q_c_p_painter_a64908e6298d5bbd83457dc987cc3a022}{restore} ()
  51. \item
  52. void \hyperlink{class_q_c_p_painter_a7e63fbcf47e35c6f2ecd11b8fef7c7d8}{make\+Non\+Cosmetic} ()
  53. \end{DoxyCompactItemize}
  54. \subsection*{Protected Attributes}
  55. \begin{DoxyCompactItemize}
  56. \item
  57. \hypertarget{class_q_c_p_painter_af5d1d6e5df0adbc7de5633250fb3396c}{}Painter\+Modes {\bfseries m\+Modes}\label{class_q_c_p_painter_af5d1d6e5df0adbc7de5633250fb3396c}
  58. \item
  59. \hypertarget{class_q_c_p_painter_a7055085da176aee0f6b23298f1003d08}{}bool {\bfseries m\+Is\+Antialiasing}\label{class_q_c_p_painter_a7055085da176aee0f6b23298f1003d08}
  60. \item
  61. \hypertarget{class_q_c_p_painter_a0189e641bbf7dc31ac15aef7b36501fa}{}Q\+Stack$<$ bool $>$ {\bfseries m\+Antialiasing\+Stack}\label{class_q_c_p_painter_a0189e641bbf7dc31ac15aef7b36501fa}
  62. \end{DoxyCompactItemize}
  63. \subsection{Detailed Description}
  64. Q\+Painter subclass used internally.
  65. This internal class is used to provide some extended functionality e.\+g. for tweaking position consistency between antialiased and non-\/antialiased painting. Further it provides workarounds for Q\+Painter quirks.
  66. \begin{DoxyWarning}{Warning}
  67. This class intentionally hides non-\/virtual functions of Q\+Painter, e.\+g. set\+Pen, save and restore. So while it is possible to pass a \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} instance to a function that expects a Q\+Painter pointer, some of the workarounds and tweaks will be unavailable to the function (because it will call the base class implementations of the functions actually hidden by \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}).
  68. \end{DoxyWarning}
  69. \subsection{Member Enumeration Documentation}
  70. \hypertarget{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156d}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!Painter\+Mode@{Painter\+Mode}}
  71. \index{Painter\+Mode@{Painter\+Mode}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  72. \subsubsection[{Painter\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Q\+C\+P\+Painter\+::\+Painter\+Mode}}\label{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156d}
  73. Defines special modes the painter can operate in. They disable or enable certain subsets of features/fixes/workarounds, depending on whether they are wanted on the respective output device. \begin{Desc}
  74. \item[Enumerator]\par
  75. \begin{description}
  76. \index{pm\+Default@{pm\+Default}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!pm\+Default@{pm\+Default}}\item[{\em
  77. \hypertarget{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156da3bac5e87e3d58553b297befb4eee2a45}{}pm\+Default\label{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156da3bac5e87e3d58553b297befb4eee2a45}
  78. }]{\ttfamily 0x00} Default mode for painting on screen devices \index{pm\+Vectorized@{pm\+Vectorized}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!pm\+Vectorized@{pm\+Vectorized}}\item[{\em
  79. \hypertarget{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156daeda679cd55dcd468341d07d48a30b6ab}{}pm\+Vectorized\label{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156daeda679cd55dcd468341d07d48a30b6ab}
  80. }]{\ttfamily 0x01} Mode for vectorized painting (e.\+g. P\+D\+F export). For example, this prevents some antialiasing fixes. \index{pm\+No\+Caching@{pm\+No\+Caching}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!pm\+No\+Caching@{pm\+No\+Caching}}\item[{\em
  81. \hypertarget{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dae78f9a4eb277a5f9207f50850a51a0b0}{}pm\+No\+Caching\label{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dae78f9a4eb277a5f9207f50850a51a0b0}
  82. }]{\ttfamily 0x02} Mode for all sorts of exports (e.\+g. P\+N\+G, P\+D\+F,...). For example, this prevents using cached pixmap labels \index{pm\+Non\+Cosmetic@{pm\+Non\+Cosmetic}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!pm\+Non\+Cosmetic@{pm\+Non\+Cosmetic}}\item[{\em
  83. \hypertarget{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dac1e481bfaf408f2bd2eaad3ec341f36b}{}pm\+Non\+Cosmetic\label{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dac1e481bfaf408f2bd2eaad3ec341f36b}
  84. }]{\ttfamily 0x04} Turns pen widths 0 to 1, i.\+e. disables cosmetic pens. (A cosmetic pen is always drawn with width 1 pixel in the vector image/pdf viewer, independent of zoom.) \end{description}
  85. \end{Desc}
  86. \subsection{Constructor \& Destructor Documentation}
  87. \hypertarget{class_q_c_p_painter_a3c52cb0f43f34573d29bea487da28fe8}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  88. \index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  89. \subsubsection[{Q\+C\+P\+Painter}]{\setlength{\rightskip}{0pt plus 5cm}Q\+C\+P\+Painter\+::\+Q\+C\+P\+Painter (
  90. \begin{DoxyParamCaption}
  91. {}
  92. \end{DoxyParamCaption}
  93. )}\label{class_q_c_p_painter_a3c52cb0f43f34573d29bea487da28fe8}
  94. Creates a new \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} instance and sets default values \hypertarget{class_q_c_p_painter_ae58dbb1795ddc4351ab324dc9898aa22}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  95. \index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  96. \subsubsection[{Q\+C\+P\+Painter}]{\setlength{\rightskip}{0pt plus 5cm}Q\+C\+P\+Painter\+::\+Q\+C\+P\+Painter (
  97. \begin{DoxyParamCaption}
  98. \item[{Q\+Paint\+Device $\ast$}]{device}
  99. \end{DoxyParamCaption}
  100. )}\label{class_q_c_p_painter_ae58dbb1795ddc4351ab324dc9898aa22}
  101. Creates a new \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} instance on the specified paint {\itshape device} and sets default values. Just like the analogous Q\+Painter constructor, begins painting on {\itshape device} immediately.
  102. Like \hyperlink{class_q_c_p_painter_a0a41146ccd619dceab6e25ec7b46b044}{begin}, this method sets Q\+Painter\+::\+Non\+Cosmetic\+Default\+Pen in Qt versions before Qt5.
  103. \subsection{Member Function Documentation}
  104. \hypertarget{class_q_c_p_painter_a0a41146ccd619dceab6e25ec7b46b044}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!begin@{begin}}
  105. \index{begin@{begin}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  106. \subsubsection[{begin}]{\setlength{\rightskip}{0pt plus 5cm}bool Q\+C\+P\+Painter\+::begin (
  107. \begin{DoxyParamCaption}
  108. \item[{Q\+Paint\+Device $\ast$}]{device}
  109. \end{DoxyParamCaption}
  110. )}\label{class_q_c_p_painter_a0a41146ccd619dceab6e25ec7b46b044}
  111. Sets the Q\+Painter\+::\+Non\+Cosmetic\+Default\+Pen in Qt versions before Qt5 after beginning painting on {\itshape device}. This is necessary to get cosmetic pen consistency across Qt versions, because since Qt5, all pens are non-\/cosmetic by default, and in Qt4 this render hint must be set to get that behaviour.
  112. The Constructor \hyperlink{class_q_c_p_painter_ae58dbb1795ddc4351ab324dc9898aa22}{Q\+C\+P\+Painter(\+Q\+Paint\+Device $\ast$device)} which directly starts painting also sets the render hint as appropriate.
  113. \begin{DoxyNote}{Note}
  114. this function hides the non-\/virtual base class implementation.
  115. \end{DoxyNote}
  116. \hypertarget{class_q_c_p_painter_a0b4b1b9bd495e182c731774dc800e6e0}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!draw\+Line@{draw\+Line}}
  117. \index{draw\+Line@{draw\+Line}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  118. \subsubsection[{draw\+Line}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::draw\+Line (
  119. \begin{DoxyParamCaption}
  120. \item[{const Q\+Line\+F \&}]{line}
  121. \end{DoxyParamCaption}
  122. )}\label{class_q_c_p_painter_a0b4b1b9bd495e182c731774dc800e6e0}
  123. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
  124. Works around a Qt bug introduced with Qt 4.\+8 which makes drawing Q\+Line\+F unpredictable when antialiasing is disabled. Thus when antialiasing is disabled, it rounds the {\itshape line} to integer coordinates and then passes it to the original draw\+Line.
  125. \begin{DoxyNote}{Note}
  126. this function hides the non-\/virtual base class implementation.
  127. \end{DoxyNote}
  128. \hypertarget{class_q_c_p_painter_a7e63fbcf47e35c6f2ecd11b8fef7c7d8}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!make\+Non\+Cosmetic@{make\+Non\+Cosmetic}}
  129. \index{make\+Non\+Cosmetic@{make\+Non\+Cosmetic}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  130. \subsubsection[{make\+Non\+Cosmetic}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::make\+Non\+Cosmetic (
  131. \begin{DoxyParamCaption}
  132. {}
  133. \end{DoxyParamCaption}
  134. )}\label{class_q_c_p_painter_a7e63fbcf47e35c6f2ecd11b8fef7c7d8}
  135. Changes the pen width to 1 if it currently is 0. This function is called in the \hyperlink{class_q_c_p_painter_af9c7a4cd1791403901f8c5b82a150195}{set\+Pen} overrides when the \hyperlink{class_q_c_p_painter_a156cf16444ff5e0d81a73c615fdb156dac1e481bfaf408f2bd2eaad3ec341f36b}{pm\+Non\+Cosmetic} mode is set. \hypertarget{class_q_c_p_painter_a64908e6298d5bbd83457dc987cc3a022}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!restore@{restore}}
  136. \index{restore@{restore}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  137. \subsubsection[{restore}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::restore (
  138. \begin{DoxyParamCaption}
  139. {}
  140. \end{DoxyParamCaption}
  141. )}\label{class_q_c_p_painter_a64908e6298d5bbd83457dc987cc3a022}
  142. Restores the painter (see Q\+Painter\+::restore). Since \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} adds some new internal state to Q\+Painter, the save/restore functions are reimplemented to also save/restore those members.
  143. \begin{DoxyNote}{Note}
  144. this function hides the non-\/virtual base class implementation.
  145. \end{DoxyNote}
  146. \begin{DoxySeeAlso}{See also}
  147. \hyperlink{class_q_c_p_painter_a8fd6821ee6fecbfa04444c9062912abd}{save}
  148. \end{DoxySeeAlso}
  149. \hypertarget{class_q_c_p_painter_a8fd6821ee6fecbfa04444c9062912abd}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!save@{save}}
  150. \index{save@{save}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  151. \subsubsection[{save}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::save (
  152. \begin{DoxyParamCaption}
  153. {}
  154. \end{DoxyParamCaption}
  155. )}\label{class_q_c_p_painter_a8fd6821ee6fecbfa04444c9062912abd}
  156. Saves the painter (see Q\+Painter\+::save). Since \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} adds some new internal state to Q\+Painter, the save/restore functions are reimplemented to also save/restore those members.
  157. \begin{DoxyNote}{Note}
  158. this function hides the non-\/virtual base class implementation.
  159. \end{DoxyNote}
  160. \begin{DoxySeeAlso}{See also}
  161. \hyperlink{class_q_c_p_painter_a64908e6298d5bbd83457dc987cc3a022}{restore}
  162. \end{DoxySeeAlso}
  163. \hypertarget{class_q_c_p_painter_aaba1deb9188244d9ea65b035112b4d05}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Antialiasing@{set\+Antialiasing}}
  164. \index{set\+Antialiasing@{set\+Antialiasing}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  165. \subsubsection[{set\+Antialiasing}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Antialiasing (
  166. \begin{DoxyParamCaption}
  167. \item[{bool}]{enabled}
  168. \end{DoxyParamCaption}
  169. )}\label{class_q_c_p_painter_aaba1deb9188244d9ea65b035112b4d05}
  170. Sets whether painting uses antialiasing or not. Use this method instead of using set\+Render\+Hint with Q\+Painter\+::\+Antialiasing directly, as it allows \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter} to regain pixel exactness between antialiased and non-\/antialiased painting (Since Qt $<$ 5.\+0 uses slightly different coordinate systems for A\+A/\+Non-\/\+A\+A painting). \hypertarget{class_q_c_p_painter_af6b1f7d2bbc548b10aa55d8b6ad49577}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Mode@{set\+Mode}}
  171. \index{set\+Mode@{set\+Mode}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  172. \subsubsection[{set\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Mode (
  173. \begin{DoxyParamCaption}
  174. \item[{{\bf Q\+C\+P\+Painter\+::\+Painter\+Mode}}]{mode, }
  175. \item[{bool}]{enabled = {\ttfamily true}}
  176. \end{DoxyParamCaption}
  177. )}\label{class_q_c_p_painter_af6b1f7d2bbc548b10aa55d8b6ad49577}
  178. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
  179. Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices. \hypertarget{class_q_c_p_painter_a5fac93adc29c7c4dea9f3e171e9e635e}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Modes@{set\+Modes}}
  180. \index{set\+Modes@{set\+Modes}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  181. \subsubsection[{set\+Modes}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Modes (
  182. \begin{DoxyParamCaption}
  183. \item[{Painter\+Modes}]{modes}
  184. \end{DoxyParamCaption}
  185. )}\label{class_q_c_p_painter_a5fac93adc29c7c4dea9f3e171e9e635e}
  186. Sets the mode of the painter. This controls whether the painter shall adjust its fixes/workarounds optimized for certain output devices. \hypertarget{class_q_c_p_painter_af9c7a4cd1791403901f8c5b82a150195}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Pen@{set\+Pen}}
  187. \index{set\+Pen@{set\+Pen}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  188. \subsubsection[{set\+Pen}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Pen (
  189. \begin{DoxyParamCaption}
  190. \item[{const Q\+Pen \&}]{pen}
  191. \end{DoxyParamCaption}
  192. )}\label{class_q_c_p_painter_af9c7a4cd1791403901f8c5b82a150195}
  193. Sets the pen of the painter and applies certain fixes to it, depending on the mode of this \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}.
  194. \begin{DoxyNote}{Note}
  195. this function hides the non-\/virtual base class implementation.
  196. \end{DoxyNote}
  197. \hypertarget{class_q_c_p_painter_a5c4d88f21564e156e88ef807f7cf0003}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Pen@{set\+Pen}}
  198. \index{set\+Pen@{set\+Pen}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  199. \subsubsection[{set\+Pen}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Pen (
  200. \begin{DoxyParamCaption}
  201. \item[{const Q\+Color \&}]{color}
  202. \end{DoxyParamCaption}
  203. )}\label{class_q_c_p_painter_a5c4d88f21564e156e88ef807f7cf0003}
  204. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
  205. Sets the pen (by color) of the painter and applies certain fixes to it, depending on the mode of this \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}.
  206. \begin{DoxyNote}{Note}
  207. this function hides the non-\/virtual base class implementation.
  208. \end{DoxyNote}
  209. \hypertarget{class_q_c_p_painter_a25e76095aae41da0d08035060e5f81ca}{}\index{Q\+C\+P\+Painter@{Q\+C\+P\+Painter}!set\+Pen@{set\+Pen}}
  210. \index{set\+Pen@{set\+Pen}!Q\+C\+P\+Painter@{Q\+C\+P\+Painter}}
  211. \subsubsection[{set\+Pen}]{\setlength{\rightskip}{0pt plus 5cm}void Q\+C\+P\+Painter\+::set\+Pen (
  212. \begin{DoxyParamCaption}
  213. \item[{Qt\+::\+Pen\+Style}]{pen\+Style}
  214. \end{DoxyParamCaption}
  215. )}\label{class_q_c_p_painter_a25e76095aae41da0d08035060e5f81ca}
  216. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
  217. Sets the pen (by style) of the painter and applies certain fixes to it, depending on the mode of this \hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}.
  218. \begin{DoxyNote}{Note}
  219. this function hides the non-\/virtual base class implementation.
  220. \end{DoxyNote}
  221. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  222. \item
  223. \hyperlink{qcustomplot_8h}{qcustomplot.\+h}\item
  224. \hyperlink{qcustomplot_8cpp}{qcustomplot.\+cpp}\end{DoxyCompactItemize}