wxruby3 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +19 -4
  4. data/README.md +5 -5
  5. data/assets/repo-social-preview.odg +0 -0
  6. data/assets/repo-social-preview.xcf +0 -0
  7. data/ext/wxruby3/include/wxRubyApp.h +58 -45
  8. data/ext/wxruby3/include/wxruby-runtime.h +78 -1
  9. data/ext/wxruby3/swig/common.i +2 -2
  10. data/ext/wxruby3/swig/custom/director.swg +2 -2
  11. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  12. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  13. data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
  14. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  15. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  16. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  17. data/ext/wxruby3/swig/mark_free_impl.i +152 -88
  18. data/ext/wxruby3/swig/memory_management.i +1 -0
  19. data/ext/wxruby3/swig/wx.i +73 -44
  20. data/lib/wx/aui/events/evt_list.rb +148 -0
  21. data/lib/wx/aui/require.rb +0 -1
  22. data/lib/wx/core/calendar_ctrl.rb +15 -0
  23. data/lib/wx/core/clipboard.rb +9 -13
  24. data/lib/wx/core/config.rb +1 -1
  25. data/lib/wx/core/events/evt_list.rb +1458 -0
  26. data/lib/wx/core/font/encoding.rb +113 -0
  27. data/lib/wx/core/generic_validator.rb +83 -31
  28. data/lib/wx/core/tipwindow.rb +16 -0
  29. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  30. data/lib/wx/doc/config.rb +2 -2
  31. data/lib/wx/doc/functions.rb +1 -1
  32. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  33. data/lib/wx/doc/gen/accelerator.rb +178 -0
  34. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  35. data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
  36. data/lib/wx/doc/gen/animation.rb +275 -0
  37. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  38. data/lib/wx/doc/gen/any_button.rb +191 -0
  39. data/lib/wx/doc/gen/app.rb +463 -0
  40. data/lib/wx/doc/gen/app_traits.rb +396 -0
  41. data/lib/wx/doc/gen/art_provider.rb +605 -0
  42. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  43. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  44. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  45. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  46. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  47. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  48. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  49. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  50. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  51. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  52. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  53. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  54. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  55. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  56. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  57. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  58. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  59. data/lib/wx/doc/gen/banner_window.rb +124 -0
  60. data/lib/wx/doc/gen/bitmap.rb +731 -0
  61. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  62. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  63. data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
  64. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  65. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  66. data/lib/wx/doc/gen/brush.rb +251 -0
  67. data/lib/wx/doc/gen/busy_info.rb +157 -0
  68. data/lib/wx/doc/gen/button.rb +182 -0
  69. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  70. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  71. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  72. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  73. data/lib/wx/doc/gen/caret.rb +97 -0
  74. data/lib/wx/doc/gen/check_box.rb +175 -0
  75. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  76. data/lib/wx/doc/gen/choice.rb +175 -0
  77. data/lib/wx/doc/gen/choicebook.rb +116 -0
  78. data/lib/wx/doc/gen/client_dc.rb +43 -0
  79. data/lib/wx/doc/gen/clipboard.rb +144 -0
  80. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  81. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  82. data/lib/wx/doc/gen/colour.rb +333 -0
  83. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  84. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  85. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  86. data/lib/wx/doc/gen/combo_box.rb +292 -0
  87. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  88. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  89. data/lib/wx/doc/gen/config_base.rb +10 -0
  90. data/lib/wx/doc/gen/context_help_button.rb +109 -0
  91. data/lib/wx/doc/gen/control.rb +277 -0
  92. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  93. data/lib/wx/doc/gen/core.rb +45 -0
  94. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  95. data/lib/wx/doc/gen/cursor.rb +193 -0
  96. data/lib/wx/doc/gen/data_format.rb +85 -0
  97. data/lib/wx/doc/gen/data_object.rb +436 -0
  98. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  99. data/lib/wx/doc/gen/date_event.rb +49 -0
  100. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  101. data/lib/wx/doc/gen/dc.rb +1631 -0
  102. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  103. data/lib/wx/doc/gen/defs.rb +2802 -0
  104. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  105. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  106. data/lib/wx/doc/gen/dialog.rb +541 -0
  107. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  108. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  109. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  110. data/lib/wx/doc/gen/display.rb +238 -0
  111. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  112. data/lib/wx/doc/gen/drag_image.rb +116 -0
  113. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  114. data/lib/wx/doc/gen/event.rb +990 -0
  115. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  116. data/lib/wx/doc/gen/event_filter.rb +92 -0
  117. data/lib/wx/doc/gen/event_list.rb +1644 -0
  118. data/lib/wx/doc/gen/events.rb +2809 -0
  119. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  120. data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
  121. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  122. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  123. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  124. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  125. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  126. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  127. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  128. data/lib/wx/doc/gen/file_system.rb +232 -0
  129. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  130. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  131. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  132. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  133. data/lib/wx/doc/gen/font.rb +1379 -0
  134. data/lib/wx/doc/gen/font_data.rb +151 -0
  135. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  136. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  137. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  138. data/lib/wx/doc/gen/frame.rb +352 -0
  139. data/lib/wx/doc/gen/fs_file.rb +337 -0
  140. data/lib/wx/doc/gen/functions.rb +10 -0
  141. data/lib/wx/doc/gen/gauge.rb +157 -0
  142. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  143. data/lib/wx/doc/gen/gcdc.rb +46 -0
  144. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  145. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  146. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  147. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  148. data/lib/wx/doc/gen/geometry.rb +661 -0
  149. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  150. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  151. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  152. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  153. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  154. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  155. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  156. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  157. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  158. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  159. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  160. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  161. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  162. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  163. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  164. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  165. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  166. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  167. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  169. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  172. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
  173. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  174. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  175. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  176. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  177. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  178. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  179. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  180. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  181. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  182. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  183. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  184. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  185. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  186. data/lib/wx/doc/gen/help_controller.rb +195 -0
  187. data/lib/wx/doc/gen/help_provider.rb +98 -0
  188. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  189. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  190. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  191. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  192. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  193. data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
  194. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  195. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  196. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  197. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  198. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  199. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  200. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  201. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  202. data/lib/wx/doc/gen/icon.rb +267 -0
  203. data/lib/wx/doc/gen/icon_location.rb +40 -0
  204. data/lib/wx/doc/gen/image.rb +1371 -0
  205. data/lib/wx/doc/gen/image_list.rb +168 -0
  206. data/lib/wx/doc/gen/info_bar.rb +195 -0
  207. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  208. data/lib/wx/doc/gen/list_box.rb +304 -0
  209. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  210. data/lib/wx/doc/gen/list_event.rb +208 -0
  211. data/lib/wx/doc/gen/listbook.rb +116 -0
  212. data/lib/wx/doc/gen/locale.rb +4293 -0
  213. data/lib/wx/doc/gen/log.rb +603 -0
  214. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  215. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  216. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  217. data/lib/wx/doc/gen/media_event.rb +117 -0
  218. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  219. data/lib/wx/doc/gen/menu.rb +509 -0
  220. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  221. data/lib/wx/doc/gen/menu_item.rb +362 -0
  222. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  223. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  224. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  225. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  226. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  227. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  228. data/lib/wx/doc/gen/notebook.rb +278 -0
  229. data/lib/wx/doc/gen/num_validator.rb +37 -0
  230. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  231. data/lib/wx/doc/gen/object.rb +59 -0
  232. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  233. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  234. data/lib/wx/doc/gen/palette.rb +92 -0
  235. data/lib/wx/doc/gen/panel.rb +127 -0
  236. data/lib/wx/doc/gen/pen.rb +511 -0
  237. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  238. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  239. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  240. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  241. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  242. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  243. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  244. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  245. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  246. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  247. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  248. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  249. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  250. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  251. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  252. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  253. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  254. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  255. data/lib/wx/doc/gen/picker_base.rb +152 -0
  256. data/lib/wx/doc/gen/platform_info.rb +622 -0
  257. data/lib/wx/doc/gen/popup_window.rb +107 -0
  258. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  259. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  260. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  261. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  262. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  263. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  264. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  265. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  266. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  267. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  268. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  269. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  270. data/lib/wx/doc/gen/radio_box.rb +306 -0
  271. data/lib/wx/doc/gen/radio_button.rb +159 -0
  272. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  273. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
  274. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  275. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  276. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  277. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  278. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  279. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  280. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  281. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  282. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  286. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  287. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  288. data/lib/wx/doc/gen/region.rb +380 -0
  289. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  290. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  291. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  292. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  293. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  294. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  295. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  296. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  297. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  298. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  299. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  301. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  302. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  304. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  306. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  309. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  310. data/lib/wx/doc/gen/sash_event.rb +147 -0
  311. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  312. data/lib/wx/doc/gen/sash_window.rb +171 -0
  313. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  314. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  315. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  316. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  317. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  318. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  319. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  320. data/lib/wx/doc/gen/secret_store.rb +116 -0
  321. data/lib/wx/doc/gen/simplebook.rb +110 -0
  322. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  323. data/lib/wx/doc/gen/sizer.rb +945 -0
  324. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  325. data/lib/wx/doc/gen/slider.rb +342 -0
  326. data/lib/wx/doc/gen/spin_button.rb +157 -0
  327. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  328. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  329. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  330. data/lib/wx/doc/gen/spin_event.rb +51 -0
  331. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  332. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  333. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  334. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  335. data/lib/wx/doc/gen/static_box.rb +180 -0
  336. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  337. data/lib/wx/doc/gen/static_line.rb +83 -0
  338. data/lib/wx/doc/gen/static_text.rb +127 -0
  339. data/lib/wx/doc/gen/status_bar.rb +290 -0
  340. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  341. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  342. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  343. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  344. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  345. data/lib/wx/doc/gen/system_options.rb +129 -0
  346. data/lib/wx/doc/gen/system_settings.rb +507 -0
  347. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  348. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  349. data/lib/wx/doc/gen/text_attr.rb +756 -0
  350. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  351. data/lib/wx/doc/gen/text_entry.rb +441 -0
  352. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  353. data/lib/wx/doc/gen/text_validator.rb +245 -0
  354. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  355. data/lib/wx/doc/gen/timer.rb +119 -0
  356. data/lib/wx/doc/gen/timer_event.rb +68 -0
  357. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  358. data/lib/wx/doc/gen/tip_window.rb +51 -0
  359. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  360. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  361. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  362. data/lib/wx/doc/gen/toolbook.rb +118 -0
  363. data/lib/wx/doc/gen/top_level_window.rb +497 -0
  364. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  365. data/lib/wx/doc/gen/tree_event.rb +127 -0
  366. data/lib/wx/doc/gen/treebook.rb +180 -0
  367. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  368. data/lib/wx/doc/gen/utils.rb +273 -0
  369. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  370. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  371. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  372. data/lib/wx/doc/gen/validator.rb +68 -0
  373. data/lib/wx/doc/gen/variant.rb +294 -0
  374. data/lib/wx/doc/gen/window.rb +2917 -0
  375. data/lib/wx/doc/gen/window_dc.rb +38 -0
  376. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  377. data/lib/wx/doc/gen/with_images.rb +84 -0
  378. data/lib/wx/doc/gen/wizard.rb +257 -0
  379. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  380. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  381. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  382. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  383. data/lib/wx/doc/gen/xml_node.rb +316 -0
  384. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  385. data/lib/wx/doc/generic_validator.rb +5 -0
  386. data/lib/wx/doc/tip_window.rb +18 -6
  387. data/lib/wx/grid/events/evt_list.rb +166 -0
  388. data/lib/wx/html/events/evt_list.rb +27 -0
  389. data/lib/wx/html/simple_html_listbox.rb +46 -33
  390. data/lib/wx/keyword_defs.rb +9 -0
  391. data/lib/wx/pg/events/evt_list.rb +73 -0
  392. data/lib/wx/pg/pg_property.rb +26 -0
  393. data/lib/wx/pg/property_grid_interface.rb +2 -2
  394. data/lib/wx/rbn/events/evt_list.rb +102 -0
  395. data/lib/wx/rtc/events/evt_list.rb +98 -0
  396. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  397. data/lib/wx/stc/events/evt_list.rb +178 -0
  398. data/lib/wx/version.rb +1 -1
  399. data/lib/wx/wxruby/cmd/setup.rb +6 -0
  400. data/rakelib/configure.rb +9 -0
  401. data/rakelib/gem.rake +3 -2
  402. data/rakelib/lib/config/linux.rb +1 -1
  403. data/rakelib/lib/config/macosx.rb +15 -1
  404. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  405. data/rakelib/lib/config/unixish.rb +3 -3
  406. data/rakelib/lib/config.rb +16 -5
  407. data/rakelib/lib/core/include/swigdirector.inc +3 -3
  408. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  409. data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
  410. data/rakelib/lib/core/include/swigrun.inc +189 -0
  411. data/rakelib/lib/core/package.rb +3 -1
  412. data/rakelib/lib/director/accelerator.rb +1 -1
  413. data/rakelib/lib/director/animation.rb +1 -0
  414. data/rakelib/lib/director/app_traits.rb +1 -1
  415. data/rakelib/lib/director/aui_manager.rb +21 -14
  416. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  417. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  418. data/rakelib/lib/director/aui_notebook.rb +20 -3
  419. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  420. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  421. data/rakelib/lib/director/clipboard.rb +2 -0
  422. data/rakelib/lib/director/data_object.rb +15 -7
  423. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  424. data/rakelib/lib/director/display.rb +81 -0
  425. data/rakelib/lib/director/event.rb +33 -16
  426. data/rakelib/lib/director/event_handler.rb +27 -2
  427. data/rakelib/lib/director/functions.rb +9 -0
  428. data/rakelib/lib/director/geometry.rb +5 -0
  429. data/rakelib/lib/director/grid_ctrl.rb +123 -28
  430. data/rakelib/lib/director/help_provider.rb +1 -1
  431. data/rakelib/lib/director/html_listbox.rb +16 -3
  432. data/rakelib/lib/director/hvscrolled.rb +7 -106
  433. data/rakelib/lib/director/image_list.rb +1 -0
  434. data/rakelib/lib/director/mdi_frame.rb +4 -0
  435. data/rakelib/lib/director/menu.rb +56 -15
  436. data/rakelib/lib/director/menu_bar.rb +62 -0
  437. data/rakelib/lib/director/menu_item.rb +7 -1
  438. data/rakelib/lib/director/num_validator.rb +27 -0
  439. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  440. data/rakelib/lib/director/popup_window.rb +2 -0
  441. data/rakelib/lib/director/preview_frame.rb +29 -6
  442. data/rakelib/lib/director/printer.rb +59 -5
  443. data/rakelib/lib/director/property_grid.rb +37 -18
  444. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  445. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  446. data/rakelib/lib/director/property_grid_page.rb +60 -0
  447. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  448. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  449. data/rakelib/lib/director/richtext_object.rb +13 -4
  450. data/rakelib/lib/director/richtext_style_listbox.rb +4 -1
  451. data/rakelib/lib/director/scrolled_t.rb +3 -0
  452. data/rakelib/lib/director/searchctrl.rb +1 -0
  453. data/rakelib/lib/director/task_bar_icon.rb +14 -8
  454. data/rakelib/lib/director/text_validator.rb +9 -0
  455. data/rakelib/lib/director/tip_window.rb +117 -6
  456. data/rakelib/lib/director/tool_bar.rb +6 -0
  457. data/rakelib/lib/director/validator.rb +12 -0
  458. data/rakelib/lib/director/variant.rb +36 -20
  459. data/rakelib/lib/director/vlistbox.rb +25 -22
  460. data/rakelib/lib/director/window.rb +10 -1
  461. data/rakelib/lib/director/xml_resource.rb +6 -0
  462. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  463. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  464. data/rakelib/lib/generate/doc.rb +12 -7
  465. data/rakelib/lib/generate/interface.rb +16 -1
  466. data/rakelib/lib/specs/interfaces.rb +3 -1
  467. data/rakelib/lib/swig_runner.rb +10 -10
  468. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  469. data/rakelib/lib/typemap/common.rb +3 -3
  470. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  471. data/samples/art/wxruby-512x512.png +0 -0
  472. data/samples/calendar/calendar.rb +64 -1
  473. data/samples/dialogs/dialogs.rb +172 -0
  474. data/samples/dialogs/tip.xpm +157 -0
  475. data/samples/drawing/maths_images.rb +1 -1
  476. data/samples/event/event.rb +1 -1
  477. data/samples/printing/printing2.rb +1 -1
  478. data/samples/sampler.rb +26 -8
  479. data/samples/text/textctrl.rb +2 -2
  480. data/samples/treectrl/treectrl.rb +2 -2
  481. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  482. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  483. data/tests/lib/wxapp_runner.rb +31 -41
  484. data/tests/lib/wxframe_runner.rb +23 -11
  485. data/tests/lib/wxrb_test.rb +58 -0
  486. data/tests/test_app_event_filter.rb +1 -1
  487. data/tests/test_app_exit_exception.rb +3 -3
  488. data/tests/test_app_init_exception.rb +3 -3
  489. data/tests/test_app_traits.rb +24 -21
  490. data/tests/test_art.rb +7 -7
  491. data/tests/test_art_provider.rb +1 -1
  492. data/tests/test_basic.rb +2 -2
  493. data/tests/test_book_controls.rb +1 -1
  494. data/tests/test_box_sizer.rb +1 -1
  495. data/tests/test_clipboard.rb +5 -5
  496. data/tests/test_combo_ctrl.rb +2 -2
  497. data/tests/test_config.rb +11 -1
  498. data/tests/test_dc.rb +1 -1
  499. data/tests/test_dialog.rb +1 -1
  500. data/tests/test_event_handling.rb +1 -1
  501. data/tests/test_events.rb +1 -1
  502. data/tests/test_exceptions.rb +2 -2
  503. data/tests/test_ext_controls.rb +10 -10
  504. data/tests/test_file_dialog.rb +1 -1
  505. data/tests/test_font.rb +1 -1
  506. data/tests/test_gdi_object.rb +1 -1
  507. data/tests/test_geometry.rb +2 -2
  508. data/tests/test_grid_sizer.rb +2 -2
  509. data/tests/test_intl.rb +1 -1
  510. data/tests/test_item_data.rb +12 -12
  511. data/tests/test_list_ctrl.rb +1 -1
  512. data/tests/test_log.rb +2 -2
  513. data/tests/test_media_ctrl.rb +1 -1
  514. data/tests/test_menu.rb +114 -43
  515. data/tests/test_proof_check.rb +1 -1
  516. data/tests/test_propgrid.rb +31 -31
  517. data/tests/test_richtext.rb +10 -24
  518. data/tests/test_secret_store.rb +1 -1
  519. data/tests/test_sizer.rb +1 -1
  520. data/tests/test_std_controls.rb +8 -8
  521. data/tests/test_styled_text_ctrl.rb +1 -1
  522. data/tests/test_timer.rb +1 -1
  523. data/tests/test_tree_ctrl.rb +1 -1
  524. data/tests/test_validators.rb +79 -36
  525. data/tests/test_variant.rb +1 -1
  526. data/tests/test_window.rb +11 -11
  527. data/tests/testapp.rb +2 -2
  528. data/tests/testapp_noframe.rb +2 -2
  529. metadata +400 -11
  530. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
@@ -0,0 +1,1631 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ # Logical raster operations which can be used with {Wx::DC#set_logical_function} and some other {Wx::DC} functions (e.g.
10
+ #
11
+ # {Wx::DC#blit} and {Wx::DC#stretch_blit}).
12
+ # The description of the values below refer to how a generic src source pixel and the corresponding dst destination pixel gets combined together to produce the final pixel. E.g. {Wx::RasterOperationMode::CLEAR} and {Wx::RasterOperationMode::SET} completely ignore the source and the destination pixel and always put zeroes or ones in the final surface.
13
+ # Note that not all modes are supported under all platforms. Notably WXGTK3 and WXOSX only support the following modes:
14
+ #
15
+ # - {Wx::RasterOperationMode::COPY}
16
+ # - {Wx::RasterOperationMode::OR}
17
+ # - {Wx::RasterOperationMode::NO_OP}
18
+ # - {Wx::RasterOperationMode::CLEAR}
19
+ # - {Wx::RasterOperationMode::XOR} and only support the commonly used {Wx::RasterOperationMode::INVERT} when the source colour is white (as it is implemented using {Wx::CompositionMode::COMPOSITION_DIFF} composition mode).
20
+ #
21
+ class RasterOperationMode < Wx::Enum
22
+
23
+ # 0
24
+ #
25
+ CLEAR = Wx::RasterOperationMode.new(0)
26
+
27
+ # src XOR dst
28
+ #
29
+ XOR = Wx::RasterOperationMode.new(1)
30
+
31
+ # NOT dst.
32
+ #
33
+ INVERT = Wx::RasterOperationMode.new(2)
34
+
35
+ # src OR (NOT dst)
36
+ #
37
+ OR_REVERSE = Wx::RasterOperationMode.new(3)
38
+
39
+ # src AND (NOT dst)
40
+ #
41
+ AND_REVERSE = Wx::RasterOperationMode.new(4)
42
+
43
+ # src
44
+ #
45
+ COPY = Wx::RasterOperationMode.new(5)
46
+
47
+ # src AND dst
48
+ #
49
+ AND = Wx::RasterOperationMode.new(6)
50
+
51
+ # (NOT src) AND dst
52
+ #
53
+ AND_INVERT = Wx::RasterOperationMode.new(7)
54
+
55
+ # dst
56
+ #
57
+ NO_OP = Wx::RasterOperationMode.new(8)
58
+
59
+ # (NOT src) AND (NOT dst)
60
+ #
61
+ NOR = Wx::RasterOperationMode.new(9)
62
+
63
+ # (NOT src) XOR dst
64
+ #
65
+ EQUIV = Wx::RasterOperationMode.new(10)
66
+
67
+ # (NOT src)
68
+ #
69
+ SRC_INVERT = Wx::RasterOperationMode.new(11)
70
+
71
+ # (NOT src) OR dst
72
+ #
73
+ OR_INVERT = Wx::RasterOperationMode.new(12)
74
+
75
+ # (NOT src) OR (NOT dst)
76
+ #
77
+ NAND = Wx::RasterOperationMode.new(13)
78
+
79
+ # src OR dst
80
+ #
81
+ OR = Wx::RasterOperationMode.new(14)
82
+
83
+ # 1
84
+ #
85
+ SET = Wx::RasterOperationMode.new(15)
86
+
87
+ end # RasterOperationMode
88
+
89
+ # Flood styles used by {Wx::DC#flood_fill}.
90
+ #
91
+ #
92
+ #
93
+ class FloodFillStyle < Wx::Enum
94
+
95
+ # The flooding occurs until a colour other than the given colour is encountered.
96
+ #
97
+ FLOOD_SURFACE = Wx::FloodFillStyle.new(1)
98
+
99
+ # The area to be flooded is bounded by the given colour.
100
+ #
101
+ FLOOD_BORDER = Wx::FloodFillStyle.new(2)
102
+
103
+ end # FloodFillStyle
104
+
105
+ # The mapping used to transform logical units to device units.
106
+ #
107
+ # See {Wx::DC::SetMapMode}.
108
+ #
109
+ class MappingMode < Wx::Enum
110
+
111
+ # Each logical unit is 1 device pixel.
112
+ #
113
+ MM_TEXT = Wx::MappingMode.new(1)
114
+
115
+ # Each logical unit is 1 millimeter.
116
+ #
117
+ MM_METRIC = Wx::MappingMode.new(2)
118
+
119
+ # Each logical unit is 1/10 of a millimeter.
120
+ #
121
+ MM_LOMETRIC = Wx::MappingMode.new(3)
122
+
123
+ # Each logical unit is 1/20 of a "printer point", or 1/1440 of an inch (also known as "twip").
124
+ #
125
+ MM_TWIPS = Wx::MappingMode.new(4)
126
+
127
+ # Each logical unit is a "printer point" i.e. 1/72 of an inch.
128
+ #
129
+ MM_POINTS = Wx::MappingMode.new(5)
130
+
131
+ end # MappingMode
132
+
133
+ # Base class for device context not providing any drawing functions.
134
+ #
135
+ # Objects of this class can't be created directly, please see {Wx::DC} for the description of how to create objects of the derived classes.
136
+ # Please note that all wxWidgets functions taking parameters of this type added before wxWidgets 3.3.0 used to take {Wx::DC} instead and that they can still be called with {Wx::DC} objects, as {Wx::DC} inherits from {Wx::ReadOnlyDC}.
137
+ #
138
+ #
139
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
140
+ class ReadOnlyDC < Object
141
+
142
+ # Does the DC support drawing bitmaps?
143
+ # @return [Boolean]
144
+ def can_draw_bitmap; end
145
+ alias_method :can_draw_bitmap?, :can_draw_bitmap
146
+
147
+ # Does the DC support calculating the size required to draw text?
148
+ # @return [Boolean]
149
+ def can_get_text_extent; end
150
+ alias_method :can_get_text_extent?, :can_get_text_extent
151
+
152
+ # Convert device X coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
153
+ #
154
+ # <div class="wxrb-note">
155
+ # <b>Note:</b>
156
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
157
+ # </p>
158
+ # </div>
159
+ # @param x [Integer]
160
+ # @return [Integer]
161
+ def device_to_logical_x(x) end
162
+
163
+ # Convert device X coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
164
+ #
165
+ # Use this for converting a horizontal distance like for example a width.
166
+ #
167
+ # <div class="wxrb-note">
168
+ # <b>Note:</b>
169
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
170
+ # </p>
171
+ # </div>
172
+ # @param x [Integer]
173
+ # @return [Integer]
174
+ def device_to_logical_x_rel(x) end
175
+
176
+ # Converts device Y coordinate to logical coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
177
+ #
178
+ # <div class="wxrb-note">
179
+ # <b>Note:</b>
180
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
181
+ # </p>
182
+ # </div>
183
+ # @param y [Integer]
184
+ # @return [Integer]
185
+ def device_to_logical_y(y) end
186
+
187
+ # Convert device Y coordinate to relative logical coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
188
+ #
189
+ # Use this for converting a vertical distance like for example a height.
190
+ #
191
+ # <div class="wxrb-note">
192
+ # <b>Note:</b>
193
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
194
+ # </p>
195
+ # </div>
196
+ # @param y [Integer]
197
+ # @return [Integer]
198
+ def device_to_logical_y_rel(y) end
199
+
200
+ # Converts logical X coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
201
+ #
202
+ # <div class="wxrb-note">
203
+ # <b>Note:</b>
204
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
205
+ # </p>
206
+ # </div>
207
+ # @param x [Integer]
208
+ # @return [Integer]
209
+ def logical_to_device_x(x) end
210
+
211
+ # Converts logical X coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
212
+ #
213
+ # Use this for converting a horizontal distance like for example a width.
214
+ #
215
+ # <div class="wxrb-note">
216
+ # <b>Note:</b>
217
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
218
+ # </p>
219
+ # </div>
220
+ # @param x [Integer]
221
+ # @return [Integer]
222
+ def logical_to_device_x_rel(x) end
223
+
224
+ # Converts logical Y coordinate to device coordinate, using the current mapping mode, user scale factor, device origin and axis orientation.
225
+ #
226
+ # <div class="wxrb-note">
227
+ # <b>Note:</b>
228
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
229
+ # </p>
230
+ # </div>
231
+ # @param y [Integer]
232
+ # @return [Integer]
233
+ def logical_to_device_y(y) end
234
+
235
+ # Converts logical Y coordinate to relative device coordinate, using the current mapping mode and user scale factor but ignoring the axis orientation.
236
+ #
237
+ # Use this for converting a vertical distance like for example a height.
238
+ #
239
+ # <div class="wxrb-note">
240
+ # <b>Note:</b>
241
+ # <p>Affine transformation applied to the coordinate system with {Wx::ReadOnlyDC#set_transform_matrix} is not taken into account.
242
+ # </p>
243
+ # </div>
244
+ # @param y [Integer]
245
+ # @return [Integer]
246
+ def logical_to_device_y_rel(y) end
247
+
248
+ # @overload device_to_logical(x, y)
249
+ # Converts device (x, y) coordinates to logical coordinates taking into account all applied transformations like the current mapping mode, scale factors, device origin, axes orientation, affine transformation.
250
+ # @param x [Integer]
251
+ # @param y [Integer]
252
+ # @return [Wx::Point]
253
+ # @overload device_to_logical(pt)
254
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
255
+ # @param pt [Array(Integer, Integer), Wx::Point]
256
+ # @return [Wx::Point]
257
+ def device_to_logical(*args) end
258
+
259
+ # @overload device_to_logical_rel(x, y)
260
+ # Converts device x, y coordinates to relative logical coordinates taking into account all applied transformations like the current mapping mode, scale factors, affine transformation.
261
+ #
262
+ # Use this for converting distances like e.g. width and height.
263
+ # @param x [Integer]
264
+ # @param y [Integer]
265
+ # @return [Wx::Size]
266
+ # @overload device_to_logical_rel(dim)
267
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
268
+ # @param dim [Array(Integer, Integer), Wx::Size]
269
+ # @return [Wx::Size]
270
+ def device_to_logical_rel(*args) end
271
+
272
+ # @overload logical_to_device(x, y)
273
+ # Converts logical (x, y) coordinates to device coordinates taking into account all applied transformations like the current mapping mode, scale factors, device origin, axes orientation, affine transformation.
274
+ # @param x [Integer]
275
+ # @param y [Integer]
276
+ # @return [Wx::Point]
277
+ # @overload logical_to_device(pt)
278
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
279
+ # @param pt [Array(Integer, Integer), Wx::Point]
280
+ # @return [Wx::Point]
281
+ def logical_to_device(*args) end
282
+
283
+ # @overload logical_to_device_rel(x, y)
284
+ # Converts logical x, y coordinates to relative device coordinates taking into account all applied transformations like the current mapping mode, scale factors, affine transformation.
285
+ #
286
+ # Use this for converting distances like e.g. width and height.
287
+ # @param x [Integer]
288
+ # @param y [Integer]
289
+ # @return [Wx::Size]
290
+ # @overload logical_to_device_rel(dim)
291
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
292
+ # @param dim [Array(Integer, Integer), Wx::Size]
293
+ # @return [Wx::Size]
294
+ def logical_to_device_rel(*args) end
295
+
296
+ # Sets the x and y axis orientation (i.e. the direction from lowest to highest values on the axis).
297
+ #
298
+ # The default orientation is x axis from left to right and y axis from top down.
299
+ # @param xLeftRight [Boolean] True to set the x axis orientation to the natural left to right orientation, false to invert it.
300
+ # @param yBottomUp [Boolean] True to set the y axis orientation to the natural bottom up orientation, false to invert it.
301
+ # @return [void]
302
+ def set_axis_orientation(xLeftRight, yBottomUp) end
303
+
304
+ # Sets the device origin (i.e. the origin in pixels after scaling has been applied).
305
+ #
306
+ # This function may be useful in Windows printing operations for placing a graphic on a page.
307
+ # @param x [Integer]
308
+ # @param y [Integer]
309
+ # @return [void]
310
+ def set_device_origin(x, y) end
311
+
312
+ # The mapping mode of the device context defines the unit of measurement used to convert logical units to device units.
313
+ #
314
+ # Note that in X, text drawing isn't handled consistently with the mapping mode; a font is always specified in point size. However, setting the user scale (see {Wx::ReadOnlyDC#set_user_scale}) scales the text appropriately. In Windows, scalable TrueType fonts are always used; in X, results depend on availability of fonts, but usually a reasonable match is found.
315
+ # The coordinate origin is always at the top left of the screen/printer.
316
+ # Drawing to a Windows printer device context uses the current mapping mode, but mapping mode is currently ignored for PostScript output.
317
+ # @param mode [Wx::MappingMode]
318
+ # @return [void]
319
+ def set_map_mode(mode) end
320
+ alias_method :map_mode=, :set_map_mode
321
+
322
+ # Sets the user scaling factor, useful for applications which require 'zooming'.
323
+ # @param xScale [Float]
324
+ # @param yScale [Float]
325
+ # @return [void]
326
+ def set_user_scale(xScale, yScale) end
327
+
328
+ # Set the scale to use for translating {Wx::DC} coordinates to the physical pixels.
329
+ #
330
+ # The effect of calling this function is similar to that of calling {Wx::ReadOnlyDC#set_user_scale}.
331
+ # @param x [Float]
332
+ # @param y [Float]
333
+ # @return [void]
334
+ def set_logical_scale(x, y) end
335
+
336
+ # Return the scale set by the last call to {Wx::ReadOnlyDC#set_logical_scale}.
337
+ # @return [Array(Float,Float)]
338
+ def get_logical_scale; end
339
+ alias_method :logical_scale, :get_logical_scale
340
+
341
+ # Change the offset used for translating {Wx::DC} coordinates.
342
+ #
343
+ #
344
+ # @see Wx::ReadOnlyDC#set_logical_origin
345
+ # @see Wx::ReadOnlyDC#set_device_origin
346
+ # @param x [Integer]
347
+ # @param y [Integer]
348
+ # @return [void]
349
+ def set_logical_origin(x, y) end
350
+
351
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
352
+ # @return [Wx::Point]
353
+ def get_logical_origin; end
354
+ alias_method :logical_origin, :get_logical_origin
355
+
356
+ # Check if the use of transformation matrix is supported by the current system.
357
+ #
358
+ # This function returns true for MSW and GTK+ 3 platforms and since 3.1.1 also for {Wx::GCDC} in all ports.
359
+ # @return [Boolean]
360
+ def can_use_transform_matrix; end
361
+ alias_method :can_use_transform_matrix?, :can_use_transform_matrix
362
+
363
+ # Set the transformation matrix.
364
+ #
365
+ # If transformation matrix is supported on the current system, the specified matrix will be used to transform between {Wx::DC} and physical coordinates. Otherwise the function returns false and doesn't change the coordinate mapping.
366
+ # @param matrix [Wx::AffineMatrix2D]
367
+ # @return [Boolean]
368
+ def set_transform_matrix(matrix) end
369
+ alias_method :transform_matrix=, :set_transform_matrix
370
+
371
+ # Return the transformation matrix used by this device context.
372
+ #
373
+ # By default the transformation matrix is the identity matrix.
374
+ # @return [Wx::AffineMatrix2D]
375
+ def get_transform_matrix; end
376
+ alias_method :transform_matrix, :get_transform_matrix
377
+
378
+ # Revert the transformation matrix to identity matrix.
379
+ # @return [void]
380
+ def reset_transform_matrix; end
381
+
382
+ # Gets the character height of the currently set font.
383
+ # @return [Integer]
384
+ def get_char_height; end
385
+ alias_method :char_height, :get_char_height
386
+
387
+ # Gets the average character width of the currently set font.
388
+ # @return [Integer]
389
+ def get_char_width; end
390
+ alias_method :char_width, :get_char_width
391
+
392
+ # Returns the various font characteristics.
393
+ #
394
+ # This method allows retrieving some of the font characteristics not returned by {Wx::ReadOnlyDC#get_text_extent}, notably internal leading and average character width.
395
+ # Currently this method returns correct results only under WXMSW, in the other ports the internal leading will always be 0 and the average character width will be computed as the width of the character 'x'.
396
+ # @return [Wx::FontMetrics]
397
+ def get_font_metrics; end
398
+ alias_method :font_metrics, :get_font_metrics
399
+
400
+ # Gets the dimensions of the string using the currently selected font.
401
+ #
402
+ # string is the text string to measure, heightLine, if non nil, is where to store the height of a single line.
403
+ # The text extent is set in the given w and h pointers.
404
+ # If the optional parameter font is specified and valid, then it is used for the text extent calculation, otherwise the currently selected font is used.
405
+ # If string is empty, its horizontal extent is 0 but, for convenience when using this function for allocating enough space for a possibly multi-line string, its vertical extent is the same as the height of an empty line of text. Please note that this behaviour differs from that of {Wx::ReadOnlyDC#get_text_extent}.
406
+ #
407
+ # <div class="wxrb-note">
408
+ # <b>Note:</b>
409
+ # <p>This function works with both single-line and multi-line strings.
410
+ # </p>
411
+ # </div>
412
+ # @see Wx::Font
413
+ # @see Wx::ReadOnlyDC#set_font
414
+ # @see Wx::ReadOnlyDC#get_partial_text_extents
415
+ # @see Wx::ReadOnlyDC#get_text_extent
416
+ # @param string [String]
417
+ # @param font [Wx::Font,Wx::FontInfo]
418
+ # @return [Array(Integer,Integer,Integer)]
419
+ def get_multi_line_text_extent(string, font=nil) end
420
+ alias_method :multi_line_text_extent, :get_multi_line_text_extent
421
+
422
+ # Gets the dimensions of the string using the currently selected font.
423
+ #
424
+ # string is the text string to measure.
425
+ # The text extent as a {Wx::Size} object.
426
+ #
427
+ # <div class="wxrb-note">
428
+ # <b>Note:</b>
429
+ # <p>This function works with both single-line and multi-line strings.
430
+ # </p>
431
+ # </div>
432
+ # @see Wx::Font
433
+ # @see Wx::ReadOnlyDC#set_font
434
+ # @see Wx::ReadOnlyDC#get_partial_text_extents
435
+ # @see Wx::ReadOnlyDC#get_text_extent
436
+ # @param string [String]
437
+ # @return [Wx::Size]
438
+ def get_multi_line_text_size(string) end
439
+ alias_method :multi_line_text_size, :get_multi_line_text_size
440
+
441
+ # Gets the dimensions of the string using the currently selected font.
442
+ #
443
+ # string is the text string to measure, descent is the dimension from the baseline of the font to the bottom of the descender, and externalLeading is any extra vertical space added to the font by the font designer (usually is zero).
444
+ # The text extent is returned in w and h pointers or as a {Wx::Size} object depending on which version of this function is used.
445
+ # If the optional parameter font is specified and valid, then it is used for the text extent calculation. Otherwise the currently selected font is.
446
+ # If string is empty, its extent is 0 in both directions, as expected.
447
+ #
448
+ # <div class="wxrb-note">
449
+ # <b>Note:</b>
450
+ # <p>This function only works with single-line strings.
451
+ # </p>
452
+ # </div>
453
+ # @see Wx::Font
454
+ # @see Wx::ReadOnlyDC#set_font
455
+ # @see Wx::ReadOnlyDC#get_partial_text_extents
456
+ # @see Wx::ReadOnlyDC#get_multi_line_text_extent
457
+ # @param string [String]
458
+ # @param font [Wx::Font,Wx::FontInfo]
459
+ # @return [Array(Integer,Integer,Integer,Integer)]
460
+ def get_text_extent(string, font=nil) end
461
+ alias_method :text_extent, :get_text_extent
462
+
463
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
464
+ # @param string [String]
465
+ # @return [Wx::Size]
466
+ def get_text_size(string) end
467
+ alias_method :text_size, :get_text_size
468
+
469
+ # Returns true if the DC is ok to use.
470
+ # @return [Boolean]
471
+ def is_ok; end
472
+ alias_method :ok?, :is_ok
473
+
474
+ # Returns the factor used for converting logical pixels to physical ones.
475
+ #
476
+ # Returns the same value as {Wx::Window#get_dpi_scale_factor} for the device contexts associated with a window and the same value as {Wx::Bitmap#get_scale_factor} for the associated bitmap for {Wx::MemoryDC}.
477
+ #
478
+ # <div class="wxrb-note">
479
+ # <b>Note:</b>
480
+ # <p>Beware that since wxWidgets 3.1.6, this function does not return the same value as {Wx::Window#get_content_scale_factor} for the device contexts associated with the window. Unlike {Wx::Window} method, it always returns the effective scale factor instead of always returning 1 on platforms where logical pixels are the same as physical ones, such as MSW.
481
+ # </p>
482
+ # </div>
483
+ # @return [Float]
484
+ def get_content_scale_factor; end
485
+ alias_method :content_scale_factor, :get_content_scale_factor
486
+
487
+ # Returns the depth (number of bits/pixel) of this DC.
488
+ #
489
+ #
490
+ # @see display_depth
491
+ # @return [Integer]
492
+ def get_depth; end
493
+ alias_method :depth, :get_depth
494
+
495
+ # Returns the current device origin.
496
+ #
497
+ #
498
+ # @see Wx::ReadOnlyDC#set_device_origin
499
+ # @return [Wx::Point]
500
+ def get_device_origin; end
501
+ alias_method :device_origin, :get_device_origin
502
+
503
+ # Gets the current mapping mode for the device context.
504
+ #
505
+ #
506
+ # @see Wx::ReadOnlyDC#set_map_mode
507
+ # @return [Wx::MappingMode]
508
+ def get_map_mode; end
509
+ alias_method :map_mode, :get_map_mode
510
+
511
+ # Returns the resolution of the device in pixels per inch.
512
+ # @return [Wx::Size]
513
+ def get_ppi; end
514
+ alias_method :ppi, :get_ppi
515
+
516
+ # @overload from_dip(sz)
517
+ # Convert DPI-independent pixel values to the value in pixels appropriate for the DC.
518
+ #
519
+ # See {Wx::Window#from_dip(sz)} for more info about converting device independent pixel values.
520
+ # @param sz [Array(Integer, Integer), Wx::Size]
521
+ # @return [Wx::Size]
522
+ # @overload from_dip(pt)
523
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
524
+ # @param pt [Array(Integer, Integer), Wx::Point]
525
+ # @return [Wx::Point]
526
+ # @overload from_dip(d)
527
+ # Convert DPI-independent value in pixels to the value in pixels appropriate for the DC.
528
+ #
529
+ # This is the same as FromDIP(const {Wx::Size}& sz) overload, but assumes that the resolution is the same in horizontal and vertical directions.
530
+ # @param d [Integer]
531
+ # @return [Integer]
532
+ def from_dip(*args) end
533
+
534
+ # @overload to_dip(sz)
535
+ # Convert pixel values of the current DC to DPI-independent pixel values.
536
+ #
537
+ # See {Wx::Window#to_dip(sz)} for more info about converting device independent pixel values.
538
+ # @param sz [Array(Integer, Integer), Wx::Size]
539
+ # @return [Wx::Size]
540
+ # @overload to_dip(pt)
541
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
542
+ # @param pt [Array(Integer, Integer), Wx::Point]
543
+ # @return [Wx::Point]
544
+ # @overload to_dip(d)
545
+ # Convert pixel values of the current DC to DPI-independent pixel values.
546
+ #
547
+ # This is the same as ToDIP(const {Wx::Size}& sz) overload, but assumes that the resolution is the same in horizontal and vertical directions.
548
+ # @param d [Integer]
549
+ # @return [Integer]
550
+ def to_dip(*args) end
551
+
552
+ # Gets the horizontal and vertical extent of this device context in device units.
553
+ #
554
+ # It can be used to scale graphics to fit the page.
555
+ # For example, if maxX and maxY represent the maximum horizontal and vertical 'pixel' values used in your application, the following code will scale the graphic to fit on the printer page:
556
+ #
557
+ # ```
558
+ # wxCoord w, h;
559
+ # dc.GetSize(&w, &h);
560
+ # double scaleX = (double)(maxX / w);
561
+ # double scaleY = (double)(maxY / h);
562
+ # dc.SetUserScale(min(scaleX, scaleY),min(scaleX, scaleY));
563
+ # ```
564
+ # @return [Array(Integer,Integer)]
565
+ def get_dimensions; end
566
+ alias_method :dimensions, :get_dimensions
567
+
568
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
569
+ # @return [Wx::Size]
570
+ def get_size; end
571
+ alias_method :size, :get_size
572
+
573
+ # Returns the horizontal and vertical resolution in millimetres.
574
+ # @return [Array(Integer,Integer)]
575
+ def get_dimensions_mm; end
576
+ alias_method :dimensions_mm, :get_dimensions_mm
577
+
578
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
579
+ # @return [Wx::Size]
580
+ def get_size_mm; end
581
+ alias_method :size_mm, :get_size_mm
582
+
583
+ # Gets the current user scale factor.
584
+ #
585
+ #
586
+ # @see Wx::ReadOnlyDC#set_user_scale
587
+ # @return [Array(Float,Float)]
588
+ def get_user_scale; end
589
+ alias_method :user_scale, :get_user_scale
590
+
591
+ # Gets the current font.
592
+ #
593
+ # Notice that even although each device context object has some default font after creation, this method would return a {Wx::NULL_FONT} initially and only after calling {Wx::ReadOnlyDC#set_font} a valid font is returned.
594
+ # @return [Wx::Font,Wx::FontInfo]
595
+ def get_font; end
596
+ alias_method :font, :get_font
597
+
598
+ # Gets the current layout direction of the device context.
599
+ #
600
+ # On platforms where RTL layout is supported, the return value will either be {Wx::LayoutDirection::Layout_LeftToRight} or {Wx::LayoutDirection::Layout_RightToLeft}. If RTL layout is not supported, the return value will be {Wx::LayoutDirection::Layout_Default}.
601
+ # @see Wx::ReadOnlyDC#set_layout_direction
602
+ # @return [Wx::LayoutDirection]
603
+ def get_layout_direction; end
604
+ alias_method :layout_direction, :get_layout_direction
605
+
606
+ # Sets the current font for the DC.
607
+ #
608
+ # The font parameter should be valid, although in WXMSW port (only) the argument {Wx::NULL_FONT} is also accepted and resets the device context font to the default value used by the system (which is not generally useful).
609
+ # @see Wx::Font
610
+ # @param font [Wx::Font,Wx::FontInfo]
611
+ # @return [void]
612
+ def set_font(font) end
613
+ alias_method :font=, :set_font
614
+
615
+ # Sets the current layout direction for the device context.
616
+ #
617
+ #
618
+ # @see Wx::ReadOnlyDC#get_layout_direction
619
+ # @param dir [Wx::LayoutDirection] May be either {Wx::LayoutDirection::Layout_Default}, {Wx::LayoutDirection::Layout_LeftToRight} or {Wx::LayoutDirection::Layout_RightToLeft}.
620
+ # @return [void]
621
+ def set_layout_direction(dir) end
622
+ alias_method :layout_direction=, :set_layout_direction
623
+
624
+ end # ReadOnlyDC
625
+
626
+ # A {Wx::DC} is a "device context" onto which graphics and text can be drawn.
627
+ #
628
+ # It is intended to represent different output devices and offers a common abstract API for drawing on any of them.
629
+ # {Wx::DC} also provides functions for coordinate transformation and computing text metrics and extends that are inherited from its base class {Wx::ReadOnlyDC}.
630
+ # wxWidgets offers an alternative drawing API based on the modern drawing backends GDI+, CoreGraphics, Cairo and Direct2D. See {Wx::GraphicsContext}, {Wx::GraphicsRenderer} and related classes. There is also a {Wx::GCDC} linking the APIs by offering the {Wx::DC} API on top of a {Wx::GraphicsContext}.
631
+ # {Wx::DC} is an abstract base class and cannot be created directly. Use {Wx::PaintDC} for drawing on screen, {Wx::MemoryDC} for off-screen drawing or {Wx::PRT::PrinterDC} for printing (the remaining drawing contexts {Wx::ClientDC}, {Wx::WindowDC} and {Wx::ScreenDC} are deprecated and don't work on all platforms any longer). Notice that {Wx::PaintDC} uses the window font and colours by default (starting with wxWidgets 2.9.0) but the other device context classes use system-default values so you always must set the appropriate fonts and colours before using them.
632
+ # In addition to the classes listed above, you can use {Wx::InfoDC} which can only provide information about the device context but not draw on it. This class is useful when you need a device context associated with a window outside of the paint event handler, i.e. when {Wx::PaintDC} can't be used.
633
+ # In addition to the versions of the methods documented below, there are also versions which accept single {Wx::Point} parameter instead of the two {Wx::Coord} ones or {Wx::Point} and {Wx::Size} instead of the four {Wx::Coord} parameters.
634
+ # In wxWidgets 3.3.0 the new {Wx::ReadOnlyDC} class was extracted from {Wx::DC}: it contains all the functions that don't actually draw on the device context, but just return information about it. This class should be rarely used directly, but some function that used to take {Wx::DC} argument but didn't need to modify it, now accept {Wx::ReadOnlyDC} instead to make this fact explicit, and such functions can now also be called with {Wx::InfoDC} objects as arguments.
635
+ # Although copying {Wx::DC} objects is not allowed because it wouldn't make sense, objects of {Wx::DC}-derived classes can be moved, in C++ sense, allowing to return them from functions since wxWidgets 3.3.2.
636
+ #
637
+ # ## Device and logical units
638
+ # In the {Wx::DC} context there is a distinction between logical units and device units.
639
+ # <b>Device</b> units are the units native to the particular device; e.g. for a screen, a device unit is a pixel. For a printer, the device unit is defined by the resolution of the printer (usually given in DPI: dot-per-inch).
640
+ # All {Wx::DC} functions use instead <b>logical</b> units, unless where explicitly stated. Logical units are arbitrary units mapped to device units using the current mapping mode (see {Wx::DC::SetMapMode}).
641
+ # This mechanism allows reusing the same code which prints on e.g. a window on the screen to print on e.g. a paper.
642
+ #
643
+ # ## Support for Transparency / Alpha Channel
644
+ # In general {Wx::DC} methods don't support alpha transparency and the alpha component of {Wx::Colour} is simply ignored and you need to use {Wx::GraphicsContext} for full transparency support. There are, however, a few exceptions: first, under macOS and GTK+ 3 colours with alpha channel are supported in all the normal {Wx::DC}-derived classes as they use {Wx::GraphicsContext} internally. Second, under all platforms {Wx::SVGFileDC} also fully supports alpha channel. In both of these cases the instances of {Wx::Pen} or {Wx::Brush} that are built from {Wx::Colour} use the colour's alpha values when stroking or filling.
645
+ #
646
+ # ## Support for Transformation Matrix
647
+ # On some platforms (currently under MSW, GTK+ 3, macOS) {Wx::DC} has support for applying an arbitrary affine transformation matrix to its coordinate system (since 3.1.1 this feature is also supported by {Wx::GCDC} in all ports). Call {Wx::DC#can_use_transform_matrix} to check if this support is available and then call {Wx::DC#set_transform_matrix} if it is. If the transformation matrix is not supported, {Wx::DC#set_transform_matrix} always simply returns false and doesn't do anything.
648
+ # This feature is only available when {Wx::Setup::USE_DC_TRANSFORM_MATRIX} build option is enabled.
649
+ #
650
+ # Category: Device Contexts, Graphics Device Interface (GDI)
651
+ #
652
+ # TodoPrecise definition of default/initial state.
653
+ # Pixelwise definition of operations (e.g. last point of a line not drawn).
654
+ # @see Device Contexts
655
+ # @see Wx::GraphicsContext
656
+ # @see Wx::DCFontChanger
657
+ # @see Wx::DCTextColourChanger
658
+ # @see Wx::DCPenChanger
659
+ # @see Wx::DCBrushChanger
660
+ # @see Wx::DCClipper
661
+ #
662
+ #
663
+ #
664
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
665
+ class DC < ReadOnlyDC
666
+
667
+ # Clears the device context using the current background brush.
668
+ #
669
+ # Note that {Wx::DC#set_background} method must be used to set the brush used by {Wx::DC#clear}, the brush used for filling the shapes set by {Wx::DC#set_brush} is ignored by it.
670
+ # If no background brush was set, solid white brush is used to clear the device context.
671
+ # @return [void]
672
+ def clear; end
673
+
674
+ # @overload draw_arc(xStart, yStart, xEnd, yEnd, xc, yc)
675
+ # Draws an arc from the given start to the given end point.
676
+ #
677
+ # <div class="wxrb-note">
678
+ # <b>Note:</b>
679
+ # <p>{Wx::DC#draw_elliptic_arc} has more clear semantics and it is recommended to use it instead of this function.
680
+ # </p>
681
+ # </div>
682
+ #
683
+ # The arc drawn is an arc of the circle centered at (xc, yc). Its start point is (xStart, yStart) whereas its end point is the point of intersection of the line passing by (xc, yc) and (xEnd, yEnd) with the circle passing by (xStart, yStart).
684
+ # The arc is drawn in a counter-clockwise direction between the start and the end points.
685
+ # The current pen is used for the outline and the current brush for filling the shape. Notice that unless the brush is transparent, the lines connecting the centre of the circle to the end points of the arc are drawn as well.
686
+ # @param xStart [Integer]
687
+ # @param yStart [Integer]
688
+ # @param xEnd [Integer]
689
+ # @param yEnd [Integer]
690
+ # @param xc [Integer]
691
+ # @param yc [Integer]
692
+ # @return [void]
693
+ # @overload draw_arc(ptStart, ptEnd, centre)
694
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
695
+ # @param ptStart [Array(Integer, Integer), Wx::Point]
696
+ # @param ptEnd [Array(Integer, Integer), Wx::Point]
697
+ # @param centre [Array(Integer, Integer), Wx::Point]
698
+ # @return [void]
699
+ def draw_arc(*args) end
700
+
701
+ # @overload draw_bitmap(bitmap, x, y, useMask=false)
702
+ # Draw a bitmap on the device context at the specified point.
703
+ #
704
+ # If useMask is true and the bitmap has a transparency mask, the bitmap will be drawn transparently.
705
+ # When drawing a mono-bitmap, the current text foreground colour will be used to draw the foreground of the bitmap (all bits set to 1), and the current text background colour to draw the background (all bits set to 0).
706
+ # @see Wx::DC#set_text_foreground
707
+ # @see Wx::DC#set_text_background
708
+ # @see Wx::MemoryDC
709
+ # @param bitmap [Wx::Bitmap]
710
+ # @param x [Integer]
711
+ # @param y [Integer]
712
+ # @param useMask [Boolean]
713
+ # @return [void]
714
+ # @overload draw_bitmap(bmp, pt, useMask=false)
715
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
716
+ # @param bmp [Wx::Bitmap]
717
+ # @param pt [Array(Integer, Integer), Wx::Point]
718
+ # @param useMask [Boolean]
719
+ # @return [void]
720
+ def draw_bitmap(*args) end
721
+
722
+ # @overload draw_check_mark(x, y, width, height)
723
+ # Draws a check mark inside the given rectangle.
724
+ # @param x [Integer]
725
+ # @param y [Integer]
726
+ # @param width [Integer]
727
+ # @param height [Integer]
728
+ # @return [void]
729
+ # @overload draw_check_mark(rect)
730
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
731
+ # @param rect [Wx::Rect]
732
+ # @return [void]
733
+ def draw_check_mark(*args) end
734
+
735
+ # @overload draw_circle(x, y, radius)
736
+ # Draws a circle with the given centre and radius.
737
+ #
738
+ #
739
+ # @see Wx::DC#draw_ellipse
740
+ # @param x [Integer]
741
+ # @param y [Integer]
742
+ # @param radius [Integer]
743
+ # @return [void]
744
+ # @overload draw_circle(pt, radius)
745
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
746
+ # @param pt [Array(Integer, Integer), Wx::Point]
747
+ # @param radius [Integer]
748
+ # @return [void]
749
+ def draw_circle(*args) end
750
+
751
+ # @overload draw_ellipse(x, y, width, height)
752
+ # Draws an ellipse contained in the rectangle specified either with the given top left corner and the given size or directly.
753
+ #
754
+ # The current pen is used for the outline and the current brush for filling the shape.
755
+ # @see Wx::DC#draw_circle
756
+ # @param x [Integer]
757
+ # @param y [Integer]
758
+ # @param width [Integer]
759
+ # @param height [Integer]
760
+ # @return [void]
761
+ # @overload draw_ellipse(pt, size)
762
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
763
+ # @param pt [Array(Integer, Integer), Wx::Point]
764
+ # @param size [Array(Integer, Integer), Wx::Size]
765
+ # @return [void]
766
+ # @overload draw_ellipse(rect)
767
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
768
+ # @param rect [Wx::Rect]
769
+ # @return [void]
770
+ def draw_ellipse(*args) end
771
+
772
+ # @overload draw_elliptic_arc(x, y, width, height, start, end_)
773
+ # Draws an arc of an ellipse.
774
+ #
775
+ # The current pen is used for drawing the arc and the current brush is used for drawing the pie.
776
+ # x and y specify the x and y coordinates of the upper-left corner of the rectangle that contains the ellipse.
777
+ # width and height specify the width and height of the rectangle that contains the ellipse.
778
+ # start and end specify the end points of the arc relative to the three-o'clock position from the center of the rectangle. Angles are specified in degrees with 0 degree angle corresponding to the positive horizontal axis (3 o'clock) direction.
779
+ # Independently of whether start is greater than or less than end, the arc is drawn in the counter-clockwise direction. Also, if start is equal to end, a complete ellipse is drawn.
780
+ # Notice that unlike {Wx::DC#draw_arc}, this function does not draw the lines to the arc ends, even when using non-transparent brush.
781
+ # @param x [Integer]
782
+ # @param y [Integer]
783
+ # @param width [Integer]
784
+ # @param height [Integer]
785
+ # @param start [Float]
786
+ # @param end_ [Float]
787
+ # @return [void]
788
+ # @overload draw_elliptic_arc(pt, sz, sa, ea)
789
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
790
+ # @param pt [Array(Integer, Integer), Wx::Point]
791
+ # @param sz [Array(Integer, Integer), Wx::Size]
792
+ # @param sa [Float]
793
+ # @param ea [Float]
794
+ # @return [void]
795
+ def draw_elliptic_arc(*args) end
796
+
797
+ # @overload draw_icon(icon, x, y)
798
+ # Draw an icon on the display (does nothing if the device context is PostScript).
799
+ #
800
+ # This can be the simplest way of drawing bitmaps on a window.
801
+ # @param icon [Wx::Icon]
802
+ # @param x [Integer]
803
+ # @param y [Integer]
804
+ # @return [void]
805
+ # @overload draw_icon(icon, pt)
806
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
807
+ # @param icon [Wx::Icon]
808
+ # @param pt [Array(Integer, Integer), Wx::Point]
809
+ # @return [void]
810
+ def draw_icon(*args) end
811
+
812
+ # @overload draw_label(text, bitmap, rect, alignment=(Wx::Alignment::ALIGN_LEFT|Wx::Alignment::ALIGN_TOP), indexAccel=-1, rectBounding=nil)
813
+ # Draw optional bitmap and the text into the given rectangle and aligns it as specified by alignment parameter; it also will emphasize the character with the given index if it is != -1 and return the bounding rectangle if required.
814
+ # @param text [String]
815
+ # @param bitmap [Wx::Bitmap]
816
+ # @param rect [Wx::Rect]
817
+ # @param alignment [Integer]
818
+ # @param indexAccel [Integer]
819
+ # @param rectBounding [Wx::Rect]
820
+ # @return [void]
821
+ # @overload draw_label(text, rect, alignment=(Wx::Alignment::ALIGN_LEFT|Wx::Alignment::ALIGN_TOP), indexAccel=-1)
822
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
823
+ # @param text [String]
824
+ # @param rect [Wx::Rect]
825
+ # @param alignment [Integer]
826
+ # @param indexAccel [Integer]
827
+ # @return [void]
828
+ def draw_label(*args) end
829
+
830
+ # @overload draw_line(x1, y1, x2, y2)
831
+ # Draws a line from the first point to the second.
832
+ #
833
+ # The current pen is used for drawing the line. Note that the point (x2, y2) is not part of the line and is not drawn by this function (this is consistent with the behaviour of many other toolkits).
834
+ # @param x1 [Integer]
835
+ # @param y1 [Integer]
836
+ # @param x2 [Integer]
837
+ # @param y2 [Integer]
838
+ # @return [void]
839
+ # @overload draw_line(pt1, pt2)
840
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
841
+ # @param pt1 [Array(Integer, Integer), Wx::Point]
842
+ # @param pt2 [Array(Integer, Integer), Wx::Point]
843
+ # @return [void]
844
+ def draw_line(*args) end
845
+
846
+ # Draws lines using an array of points of size n adding the optional offset coordinate.
847
+ #
848
+ # The current pen is used for drawing the lines.
849
+ # @param points [Array<Wx::Point>,Array<Array<Integer>>]
850
+ # @param xoffset [Integer]
851
+ # @param yoffset [Integer]
852
+ # @return [void]
853
+ def draw_lines(points, xoffset=0, yoffset=0) end
854
+
855
+ # @overload draw_point(x, y)
856
+ # Draws a point using the color of the current pen.
857
+ #
858
+ # Note that the other properties of the pen are not used, such as width.
859
+ # @param x [Integer]
860
+ # @param y [Integer]
861
+ # @return [void]
862
+ # @overload draw_point(pt)
863
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
864
+ # @param pt [Array(Integer, Integer), Wx::Point]
865
+ # @return [void]
866
+ def draw_point(*args) end
867
+
868
+ # Draws a filled polygon using an array of points of size n, adding the optional offset coordinate.
869
+ #
870
+ # The first and last points are automatically closed.
871
+ # The last argument specifies the fill rule: <b>{Wx::PolygonFillMode::ODDEVEN_RULE}</b> (the default) or <b>{Wx::PolygonFillMode::WINDING_RULE}</b>.
872
+ # The current pen is used for drawing the outline, and the current brush for filling the shape. Using a transparent brush suppresses filling.
873
+ # @param points [Array<Wx::Point>,Array<Array<Integer>>]
874
+ # @param xoffset [Integer]
875
+ # @param yoffset [Integer]
876
+ # @param fill_style [Wx::PolygonFillMode]
877
+ # @return [void]
878
+ def draw_polygon(points, xoffset=0, yoffset=0, fill_style=Wx::PolygonFillMode::ODDEVEN_RULE) end
879
+
880
+ # Draws two or more filled polygons using an array of points, adding the optional offset coordinates.
881
+ #
882
+ # Notice that for the platforms providing a native implementation of this function (Windows and PostScript-based {Wx::DC} currently), this is more efficient than using {Wx::DC#draw_polygon} in a loop.
883
+ # n specifies the number of polygons to draw, the array count of size n specifies the number of points in each of the polygons in the points array.
884
+ # The last argument specifies the fill rule: <b>{Wx::PolygonFillMode::ODDEVEN_RULE}</b> (the default) or <b>{Wx::PolygonFillMode::WINDING_RULE}</b>.
885
+ # The current pen is used for drawing the outline, and the current brush for filling the shape. Using a transparent brush suppresses filling.
886
+ # The polygons maybe disjoint or overlapping. Each polygon specified in a call to {Wx::DC#draw_poly_polygon} must be closed. Unlike polygons created by the {Wx::DC#draw_polygon} member function, the polygons created by this method are not closed automatically.
887
+ # @param points [Array<Array<Wx::Point>>,Array<Array<Array<Integer>>>]
888
+ # @param xoffset [Integer]
889
+ # @param yoffset [Integer]
890
+ # @param fill_style [Wx::PolygonFillMode]
891
+ # @return [void]
892
+ def draw_poly_polygon(points, xoffset=0, yoffset=0, fill_style=Wx::PolygonFillMode::ODDEVEN_RULE) end
893
+
894
+ # @overload draw_rectangle(x, y, width, height)
895
+ # Draws a rectangle with the given corner coordinate and size.
896
+ #
897
+ # Normally, x and y specify the top left corner coordinates and both width and height are positive, however they are also allowed to be negative, in which case the corresponding corner coordinate refers to the right or bottom corner instead.
898
+ # The current pen is used for the outline and the current brush for filling the shape. Special case: If the current pen is transparent, then the current brush is used for the entire rectangle.
899
+ # @param x [Integer]
900
+ # @param y [Integer]
901
+ # @param width [Integer]
902
+ # @param height [Integer]
903
+ # @return [void]
904
+ # @overload draw_rectangle(pt, sz)
905
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
906
+ # @param pt [Array(Integer, Integer), Wx::Point]
907
+ # @param sz [Array(Integer, Integer), Wx::Size]
908
+ # @return [void]
909
+ # @overload draw_rectangle(rect)
910
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
911
+ # @param rect [Wx::Rect]
912
+ # @return [void]
913
+ def draw_rectangle(*args) end
914
+
915
+ # @overload draw_rotated_text(text, x, y, angle)
916
+ # Draws the text rotated by angle degrees (positive angles are counterclockwise; the full angle is 360 degrees).
917
+ #
918
+ # Notice that, as with {Wx::DC#draw_text}, the text can contain multiple lines separated by the new line (<code>'\n'</code>) characters.
919
+ #
920
+ # <div class="wxrb-note">
921
+ # <b>Note:</b>
922
+ # <p>Under MSW only TrueType fonts can be drawn by this function. In particular, a font different from {Wx::NORMAL_FONT} should be used as the latter is not a TrueType font. {Wx::SWISS_FONT} is an example of a font which is.
923
+ # </p>
924
+ # </div>
925
+ # @see Wx::DC#draw_text
926
+ # @param text [String]
927
+ # @param x [Integer]
928
+ # @param y [Integer]
929
+ # @param angle [Float]
930
+ # @return [void]
931
+ # @overload draw_rotated_text(text, point, angle)
932
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
933
+ # @param text [String]
934
+ # @param point [Array(Integer, Integer), Wx::Point]
935
+ # @param angle [Float]
936
+ # @return [void]
937
+ def draw_rotated_text(*args) end
938
+
939
+ # @overload draw_rounded_rectangle(x, y, width, height, radius)
940
+ # Draws a rectangle with the given top left corner, and with the given size.
941
+ #
942
+ # The corners are quarter-circles using the given radius. The current pen is used for the outline and the current brush for filling the shape.
943
+ # If radius is positive, the value is assumed to be the radius of the rounded corner. If radius is negative, the absolute value is assumed to be the proportion of the smallest dimension of the rectangle. This means that the corner can be a sensible size relative to the size of the rectangle, and also avoids the strange effects X produces when the corners are too big for the rectangle.
944
+ # @param x [Integer]
945
+ # @param y [Integer]
946
+ # @param width [Integer]
947
+ # @param height [Integer]
948
+ # @param radius [Float]
949
+ # @return [void]
950
+ # @overload draw_rounded_rectangle(pt, sz, radius)
951
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
952
+ # @param pt [Array(Integer, Integer), Wx::Point]
953
+ # @param sz [Array(Integer, Integer), Wx::Size]
954
+ # @param radius [Float]
955
+ # @return [void]
956
+ # @overload draw_rounded_rectangle(rect, radius)
957
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
958
+ # @param rect [Wx::Rect]
959
+ # @param radius [Float]
960
+ # @return [void]
961
+ def draw_rounded_rectangle(*args) end
962
+
963
+ # @overload draw_spline(points)
964
+ # Draws a spline between all given points using the current pen.
965
+ #
966
+ # The number of points must be at least 2 for the spline to be drawn.
967
+ #
968
+ # <div class="wxrb-note">
969
+ # <b>Note:</b>
970
+ # <p>Drawn curve is not an interpolating curve - it does not go through all points. It may be considered a smoothing curve.
971
+ # </p>
972
+ # </div>
973
+ # @param points [Array<Wx::Point>,Array<Array<Integer>>]
974
+ # @return [void]
975
+ # @overload draw_spline(x1, y1, x2, y2, x3, y3)
976
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
977
+ # @param x1 [Integer]
978
+ # @param y1 [Integer]
979
+ # @param x2 [Integer]
980
+ # @param y2 [Integer]
981
+ # @param x3 [Integer]
982
+ # @param y3 [Integer]
983
+ # @return [void]
984
+ def draw_spline(*args) end
985
+
986
+ # @overload draw_text(text, x, y)
987
+ # Draws a text string at the specified point, using the current text font, and the current text foreground and background colours.
988
+ #
989
+ # The coordinates refer to the top-left corner of the rectangle bounding the string. See {Wx::DC#get_text_extent} for how to get the dimensions of a text string, which can be used to position the text more precisely and {Wx::DC#draw_label} if you need to align the string differently.
990
+ # Starting from wxWidgets 2.9.2 text parameter can be a multi-line string, i.e. contain new line characters, and will be rendered correctly.
991
+ #
992
+ # <div class="wxrb-note">
993
+ # <b>Note:</b>
994
+ # <p>The current logical function is ignored by this function.
995
+ # </p>
996
+ # </div>
997
+ # @param text [String]
998
+ # @param x [Integer]
999
+ # @param y [Integer]
1000
+ # @return [void]
1001
+ # @overload draw_text(text, pt)
1002
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1003
+ # @param text [String]
1004
+ # @param pt [Array(Integer, Integer), Wx::Point]
1005
+ # @return [void]
1006
+ def draw_text(*args) end
1007
+
1008
+ # @overload gradient_fill_concentric(rect, initialColour, destColour)
1009
+ # Fill the area specified by rect with a radial gradient, starting from initialColour at the centre of the circle and fading to destColour on the circle outside.
1010
+ #
1011
+ # The circle is placed at the centre of rect.
1012
+ #
1013
+ # <div class="wxrb-note">
1014
+ # <b>Note:</b>
1015
+ # <p>Currently this function is very slow, don't use it for real-time drawing.
1016
+ # </p>
1017
+ # </div>
1018
+ # @param rect [Wx::Rect]
1019
+ # @param initialColour [Wx::Colour,String,Symbol]
1020
+ # @param destColour [Wx::Colour,String,Symbol]
1021
+ # @return [void]
1022
+ # @overload gradient_fill_concentric(rect, initialColour, destColour, circleCenter)
1023
+ # Fill the area specified by rect with a radial gradient, starting from initialColour at the centre of the circle and fading to destColour on the circle outside.
1024
+ #
1025
+ # circleCenter are the relative coordinates of centre of the circle in the specified rect.
1026
+ #
1027
+ # <div class="wxrb-note">
1028
+ # <b>Note:</b>
1029
+ # <p>Currently this function is very slow, don't use it for real-time drawing.
1030
+ # </p>
1031
+ # </div>
1032
+ # @param rect [Wx::Rect]
1033
+ # @param initialColour [Wx::Colour,String,Symbol]
1034
+ # @param destColour [Wx::Colour,String,Symbol]
1035
+ # @param circleCenter [Array(Integer, Integer), Wx::Point]
1036
+ # @return [void]
1037
+ def gradient_fill_concentric(*args) end
1038
+
1039
+ # Fill the area specified by rect with a linear gradient, starting from initialColour and eventually fading to destColour.
1040
+ #
1041
+ # The nDirection specifies the direction of the colour change, default is to use initialColour on the left part of the rectangle and destColour on the right one.
1042
+ # @param rect [Wx::Rect]
1043
+ # @param initialColour [Wx::Colour,String,Symbol]
1044
+ # @param destColour [Wx::Colour,String,Symbol]
1045
+ # @param nDirection [Wx::Direction]
1046
+ # @return [void]
1047
+ def gradient_fill_linear(rect, initialColour, destColour, nDirection=Wx::Direction::RIGHT) end
1048
+
1049
+ # @overload flood_fill(x, y, colour, style=Wx::FloodFillStyle::FLOOD_SURFACE)
1050
+ # Flood fills the device context starting from the given point, using the current brush colour, and using a style:
1051
+ #
1052
+ # - {Wx::FloodFillStyle::FLOOD_SURFACE}: The flooding occurs until a colour other than the given colour is encountered.
1053
+ # - {Wx::FloodFillStyle::FLOOD_BORDER}: The area to be flooded is bounded by the given colour.
1054
+ #
1055
+ # Currently this method is not implemented in WXOSX and does nothing there.
1056
+ # false if the operation failed.
1057
+ #
1058
+ # <div class="wxrb-note">
1059
+ # <b>Note:</b>
1060
+ # <p>The present implementation for non-Windows platforms may fail to find colour borders if the pixels do not match the colour exactly. However the function will still return true.
1061
+ # </p>
1062
+ # </div>
1063
+ #
1064
+ # <div class="wxrb-note">
1065
+ # <b>Note:</b>
1066
+ # <p>This method shouldn't be used with {Wx::PaintDC} under non-Windows platforms as it uses {Wx::DC#get_pixel} internally and this may give wrong results, notably in WXGTK. If you need to flood fill {Wx::PaintDC}, create a temporary {Wx::MemoryDC}, flood fill it and then blit it to, or draw as a bitmap on, {Wx::PaintDC}. See the example of doing this in the drawing sample and {Wx::BufferedPaintDC} class.
1067
+ # </p>
1068
+ # </div>
1069
+ # @param x [Integer]
1070
+ # @param y [Integer]
1071
+ # @param colour [Wx::Colour,String,Symbol]
1072
+ # @param style [Wx::FloodFillStyle]
1073
+ # @return [Boolean]
1074
+ # @overload flood_fill(pt, col, style=Wx::FloodFillStyle::FLOOD_SURFACE)
1075
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1076
+ # @param pt [Array(Integer, Integer), Wx::Point]
1077
+ # @param col [Wx::Colour,String,Symbol]
1078
+ # @param style [Wx::FloodFillStyle]
1079
+ # @return [Boolean]
1080
+ def flood_fill(*args) end
1081
+
1082
+ # @overload cross_hair(x, y)
1083
+ # Displays a cross hair using the current pen.
1084
+ #
1085
+ # This is a vertical and horizontal line the height and width of the window, centred on the given point.
1086
+ # @param x [Integer]
1087
+ # @param y [Integer]
1088
+ # @return [void]
1089
+ # @overload cross_hair(pt)
1090
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1091
+ # @param pt [Array(Integer, Integer), Wx::Point]
1092
+ # @return [void]
1093
+ def cross_hair(*args) end
1094
+
1095
+ # Destroys the current clipping region so that none of the DC is clipped.
1096
+ #
1097
+ #
1098
+ # @see Wx::DC#set_clipping_region
1099
+ # @return [void]
1100
+ def destroy_clipping_region; end
1101
+
1102
+ # @overload get_clipping_box(x, y)
1103
+ # Gets the rectangle surrounding the current clipping region.
1104
+ #
1105
+ # If no clipping region is set this function returns the extent of the device context.
1106
+ #
1107
+ # <div class="wxrb-remark">
1108
+ # <b>Remark:</b>
1109
+ # <p>Clipping region is given in logical coordinates.
1110
+ # </p>
1111
+ # </div>
1112
+ #
1113
+ # true if there is a clipping region or false if there is no active clipping region (note that this return value is available only since wxWidgets 3.1.2, this function didn't return anything in the previous versions).
1114
+ # @param x [Integer] If non-null, filled in with the logical horizontal coordinate of the top left corner of the clipping region if the function returns true or 0 otherwise.
1115
+ # @param y [Integer] If non-null, filled in with the logical vertical coordinate of the top left corner of the clipping region if the function returns true or 0 otherwise.
1116
+ # @return [Array(Boolean,Integer,Integer)]
1117
+ # @overload get_clipping_box(rect)
1118
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1119
+ # @param rect [Wx::Rect]
1120
+ # @return [Boolean]
1121
+ def get_clipping_box(*args) end
1122
+ alias_method :clipping_box, :get_clipping_box
1123
+
1124
+ # @overload set_clipping_region(x, y, width, height)
1125
+ # Sets the clipping region for this device context to the intersection of the given region described by the parameters of this method and the previously set clipping region.
1126
+ #
1127
+ # The clipping region is an area to which drawing is restricted. Possible uses for the clipping region are for clipping text or for speeding up window redraws when only a known area of the screen is damaged.
1128
+ #
1129
+ # <div class="wxrb-remark">
1130
+ # <b>Remark:</b>
1131
+ # <p>
1132
+ #
1133
+ # - Clipping region should be given in logical coordinates.
1134
+ # - Calling this function can only make the clipping region smaller, never larger.
1135
+ # - You need to call {Wx::DC#destroy_clipping_region} first if you want to set the clipping region exactly to the region specified.
1136
+ # - If resulting clipping region is empty, then all drawing on the DC is clipped out (all changes made by drawing operations are masked out).
1137
+ #
1138
+ # </p>
1139
+ # </div>
1140
+ # @see Wx::DC#destroy_clipping_region
1141
+ # @see Wx::Region
1142
+ # @param x [Integer]
1143
+ # @param y [Integer]
1144
+ # @param width [Integer]
1145
+ # @param height [Integer]
1146
+ # @return [void]
1147
+ # @overload set_clipping_region(pt, sz)
1148
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1149
+ # @param pt [Array(Integer, Integer), Wx::Point]
1150
+ # @param sz [Array(Integer, Integer), Wx::Size]
1151
+ # @return [void]
1152
+ # @overload set_clipping_region(rect)
1153
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1154
+ # @param rect [Wx::Rect]
1155
+ # @return [void]
1156
+ def set_clipping_region(*args) end
1157
+ alias_method :clipping_region=, :set_clipping_region
1158
+
1159
+ # Sets the clipping region for this device context.
1160
+ #
1161
+ # Unlike {Wx::DC#set_clipping_region}, this function works with physical coordinates and not with the logical ones.
1162
+ # @param region [Wx::Region]
1163
+ # @return [void]
1164
+ def set_device_clipping_region(region) end
1165
+ alias_method :device_clipping_region=, :set_device_clipping_region
1166
+
1167
+ # Returns the current background mode: {Wx::BrushStyle::BRUSHSTYLE_SOLID} or {Wx::BrushStyle::BRUSHSTYLE_TRANSPARENT}.
1168
+ #
1169
+ #
1170
+ # @see Wx::DC#set_background_mode
1171
+ # @return [Integer]
1172
+ def get_background_mode; end
1173
+ alias_method :background_mode, :get_background_mode
1174
+
1175
+ # Gets the current text background colour.
1176
+ #
1177
+ #
1178
+ # @see Wx::DC#set_text_background
1179
+ # @return [Wx::Colour,String,Symbol]
1180
+ def get_text_background; end
1181
+ alias_method :text_background, :get_text_background
1182
+
1183
+ # Gets the current text foreground colour.
1184
+ #
1185
+ #
1186
+ # @see Wx::DC#set_text_foreground
1187
+ # @return [Wx::Colour,String,Symbol]
1188
+ def get_text_foreground; end
1189
+ alias_method :text_foreground, :get_text_foreground
1190
+
1191
+ # Change the current background mode.
1192
+ #
1193
+ # This setting determines whether text will be drawn with a background colour or not.
1194
+ # Default is {Wx::BrushStyle::BRUSHSTYLE_TRANSPARENT}, i.e. text background is not drawn.
1195
+ # @param mode [Integer] one of {Wx::BrushStyle::BRUSHSTYLE_SOLID} and {Wx::BrushStyle::BRUSHSTYLE_TRANSPARENT}.
1196
+ # @return [void]
1197
+ def set_background_mode(mode) end
1198
+ alias_method :background_mode=, :set_background_mode
1199
+
1200
+ # Sets the current text background colour for the DC.
1201
+ # @param colour [Wx::Colour,String,Symbol]
1202
+ # @return [void]
1203
+ def set_text_background(colour) end
1204
+ alias_method :text_background=, :set_text_background
1205
+
1206
+ # Sets the current text foreground colour for the DC.
1207
+ #
1208
+ #
1209
+ # @see Wx::MemoryDC for the interpretation of colours when drawing into a monochrome bitmap.
1210
+ # @param colour [Wx::Colour,String,Symbol]
1211
+ # @return [void]
1212
+ def set_text_foreground(colour) end
1213
+ alias_method :text_foreground=, :set_text_foreground
1214
+
1215
+ # Disable automatic bounding box updates.
1216
+ #
1217
+ # Such updates are enabled by default but can be disabled to make the drawing functions slightly faster.
1218
+ # @see Wx::DC#are_automatic_bounding_box_updates_enabled
1219
+ # @return [void]
1220
+ def disable_automatic_bounding_box_updates; end
1221
+
1222
+ # Check if automatic bounding box updates are performed.
1223
+ #
1224
+ # Returns true if the automatic bounding box updates are enabled (this is the default) or false if they are disabled.
1225
+ # @see Wx::DC#disable_automatic_bounding_box_updates
1226
+ # @return [Boolean]
1227
+ def are_automatic_bounding_box_updates_enabled; end
1228
+
1229
+ # Adds the specified point to the bounding box which can be retrieved with {Wx::DC#min_x}, {Wx::DC#max_x} and {Wx::DC#min_y}, {Wx::DC#max_y} functions.
1230
+ #
1231
+ #
1232
+ # @see Wx::DC#reset_bounding_box
1233
+ # @param x [Integer]
1234
+ # @param y [Integer]
1235
+ # @return [void]
1236
+ def calc_bounding_box(x, y) end
1237
+
1238
+ # Gets the maximum horizontal extent used in drawing commands so far.
1239
+ # @return [Integer]
1240
+ def max_x; end
1241
+
1242
+ # Gets the maximum vertical extent used in drawing commands so far.
1243
+ # @return [Integer]
1244
+ def max_y; end
1245
+
1246
+ # Gets the minimum horizontal extent used in drawing commands so far.
1247
+ # @return [Integer]
1248
+ def min_x; end
1249
+
1250
+ # Gets the minimum vertical extent used in drawing commands so far.
1251
+ # @return [Integer]
1252
+ def min_y; end
1253
+
1254
+ # Resets the bounding box: after a call to this function, the bounding box doesn't contain anything.
1255
+ #
1256
+ #
1257
+ # @see Wx::DC#calc_bounding_box
1258
+ # @return [void]
1259
+ def reset_bounding_box; end
1260
+
1261
+ # Starts a document (only relevant when outputting to a printer).
1262
+ #
1263
+ # message is a message to show while printing.
1264
+ # @param message [String]
1265
+ # @return [Boolean]
1266
+ def start_doc(message) end
1267
+
1268
+ # Starts a document page (only relevant when outputting to a printer).
1269
+ # @return [void]
1270
+ def start_page; end
1271
+
1272
+ # Ends a document (only relevant when outputting to a printer).
1273
+ # @return [void]
1274
+ def end_doc; end
1275
+
1276
+ # Ends a document page (only relevant when outputting to a printer).
1277
+ # @return [void]
1278
+ def end_page; end
1279
+
1280
+ # Copy from a source DC to this DC.
1281
+ #
1282
+ # With this method you can specify the destination coordinates and the size of area to copy which will be the same for both the source and target DCs. If you need to apply scaling while copying, use {Wx::DC#stretch_blit}.
1283
+ # Notice that source DC coordinates xsrc and ysrc are interpreted using the current source DC coordinate system, i.e. the scale, origin position and axis directions are taken into account when transforming them to physical (pixel) coordinates.
1284
+ #
1285
+ # <div class="wxrb-remark">
1286
+ # <b>Remark:</b>
1287
+ # <p>There is partial support for {Wx::DC#blit} in {Wx::PRT::PostScriptDC}, under X.
1288
+ # </p>
1289
+ # </div>
1290
+ # @see Wx::DC#stretch_blit
1291
+ # @see Wx::MemoryDC
1292
+ # @see Wx::Bitmap
1293
+ # @see Wx::Mask
1294
+ # @param xdest [Integer] Destination device context x position.
1295
+ # @param ydest [Integer] Destination device context y position.
1296
+ # @param width [Integer] Width of source area to be copied.
1297
+ # @param height [Integer] Height of source area to be copied.
1298
+ # @param source [Wx::DC] Source device context.
1299
+ # @param xsrc [Integer] Source device context x position.
1300
+ # @param ysrc [Integer] Source device context y position.
1301
+ # @param logicalFunc [Wx::RasterOperationMode] Logical function to use, see {Wx::DC#set_logical_function}.
1302
+ # @param useMask [Boolean] If true, Blit does a transparent blit using the mask that is associated with the bitmap selected into the source device context. The Windows implementation does the following if MaskBlt cannot be used:
1303
+ #
1304
+ # -
1305
+ # Creates a temporary bitmap and copies the destination area into it.
1306
+ #
1307
+ # -
1308
+ # Copies the source area into the temporary bitmap using the specified logical function.
1309
+ #
1310
+ # -
1311
+ # Sets the masked area in the temporary bitmap to BLACK by ANDing the mask bitmap with the temp bitmap with the foreground colour set to WHITE and the bg colour set to BLACK.
1312
+ #
1313
+ # -
1314
+ # Sets the unmasked area in the destination area to BLACK by ANDing the mask bitmap with the destination area with the foreground colour set to BLACK and the background colour set to WHITE.
1315
+ #
1316
+ # -
1317
+ # ORs the temporary bitmap with the destination area.
1318
+ #
1319
+ # -
1320
+ # Deletes the temporary bitmap.
1321
+ #
1322
+ # This sequence of operations ensures that the source's transparent area need not be black, and logical functions are supported.
1323
+ #
1324
+ # <b>Note:</b> on Windows, blitting with masks can be speeded up considerably by compiling wxWidgets with the {Wx::Setup::USE_DC_CACHEING} option enabled. You can also influence whether MaskBlt or the explicit mask blitting code above is used, by using {Wx::SystemOptions} and setting the <code>no-maskblt</code> option to 1.
1325
+ # @param xsrcMask [Integer] Source x position on the mask. If both xsrcMask and ysrcMask are <code>-1</code>, xsrc and ysrc will be assumed for the mask source position. Currently only implemented on Windows.
1326
+ # @param ysrcMask [Integer] Source y position on the mask. If both xsrcMask and ysrcMask are <code>-1</code>, xsrc and ysrc will be assumed for the mask source position. Currently only implemented on Windows.
1327
+ # @return [Boolean]
1328
+ def blit(xdest, ydest, width, height, source, xsrc, ysrc, logicalFunc=Wx::RasterOperationMode::COPY, useMask=false, xsrcMask=Wx::DEFAULT_COORD, ysrcMask=Wx::DEFAULT_COORD) end
1329
+
1330
+ # Copy from a source DC to this DC possibly changing the scale.
1331
+ #
1332
+ # Unlike {Wx::DC#blit}, this method allows specifying different source and destination region sizes, meaning that it can stretch or shrink it while copying. The same can be achieved by changing the scale of the source or target DC but calling this method is simpler and can also be more efficient if the platform provides a native implementation of it.
1333
+ # The meaning of its other parameters is the same as with {Wx::DC#blit}, in particular all source coordinates are interpreted using the source DC coordinate system, i.e. are affected by its scale, origin translation and axis direction.
1334
+ #
1335
+ # There is partial support for {Wx::DC#blit} in {Wx::PRT::PostScriptDC}, under X.
1336
+ # See {Wx::MemoryDC} for typical usage.
1337
+ # @see Wx::DC#blit
1338
+ # @see Wx::MemoryDC
1339
+ # @see Wx::Bitmap
1340
+ # @see Wx::Mask
1341
+ # @param xdest [Integer] Destination device context x position.
1342
+ # @param ydest [Integer] Destination device context y position.
1343
+ # @param dstWidth [Integer] Width of destination area.
1344
+ # @param dstHeight [Integer] Height of destination area.
1345
+ # @param source [Wx::DC] Source device context.
1346
+ # @param xsrc [Integer] Source device context x position.
1347
+ # @param ysrc [Integer] Source device context y position.
1348
+ # @param srcWidth [Integer] Width of source area to be copied.
1349
+ # @param srcHeight [Integer] Height of source area to be copied.
1350
+ # @param logicalFunc [Wx::RasterOperationMode] Logical function to use, see {Wx::DC#set_logical_function}.
1351
+ # @param useMask [Boolean] If true, Blit does a transparent blit using the mask that is associated with the bitmap selected into the source device context. The Windows implementation does the following if MaskBlt cannot be used:
1352
+ #
1353
+ # -
1354
+ # Creates a temporary bitmap and copies the destination area into it.
1355
+ #
1356
+ # -
1357
+ # Copies the source area into the temporary bitmap using the specified logical function.
1358
+ #
1359
+ # -
1360
+ # Sets the masked area in the temporary bitmap to BLACK by ANDing the mask bitmap with the temp bitmap with the foreground colour set to WHITE and the bg colour set to BLACK.
1361
+ #
1362
+ # -
1363
+ # Sets the unmasked area in the destination area to BLACK by ANDing the mask bitmap with the destination area with the foreground colour set to BLACK and the background colour set to WHITE.
1364
+ #
1365
+ # -
1366
+ # ORs the temporary bitmap with the destination area.
1367
+ #
1368
+ # -
1369
+ # Deletes the temporary bitmap.
1370
+ #
1371
+ # This sequence of operations ensures that the source's transparent area need not be black, and logical functions are supported.
1372
+ #
1373
+ # <b>Note:</b> on Windows, blitting with masks can be speeded up considerably by compiling wxWidgets with the {Wx::Setup::USE_DC_CACHEING} option enabled. You can also influence whether MaskBlt or the explicit mask blitting code above is used, by using {Wx::SystemOptions} and setting the <code>no-maskblt</code> option to 1.
1374
+ # @param xsrcMask [Integer] Source x position on the mask. If both xsrcMask and ysrcMask are {Wx::DEFAULT_COORD}, xsrc and ysrc will be assumed for the mask source position. Currently only implemented on Windows.
1375
+ # @param ysrcMask [Integer] Source y position on the mask. If both xsrcMask and ysrcMask are {Wx::DEFAULT_COORD}, xsrc and ysrc will be assumed for the mask source position. Currently only implemented on Windows.
1376
+ # @return [Boolean]
1377
+ def stretch_blit(xdest, ydest, dstWidth, dstHeight, source, xsrc, ysrc, srcWidth, srcHeight, logicalFunc=Wx::RasterOperationMode::COPY, useMask=false, xsrcMask=Wx::DEFAULT_COORD, ysrcMask=Wx::DEFAULT_COORD) end
1378
+
1379
+ # Gets the brush used for painting the background.
1380
+ #
1381
+ #
1382
+ # @see Wx::DC#set_background
1383
+ # @return [Wx::Brush]
1384
+ def get_background; end
1385
+ alias_method :background, :get_background
1386
+
1387
+ # Gets the current brush.
1388
+ #
1389
+ #
1390
+ # @see Wx::DC#set_brush
1391
+ # @return [Wx::Brush]
1392
+ def get_brush; end
1393
+ alias_method :brush, :get_brush
1394
+
1395
+ # Gets the current pen.
1396
+ #
1397
+ #
1398
+ # @see Wx::DC#set_pen
1399
+ # @return [Wx::Pen]
1400
+ def get_pen; end
1401
+ alias_method :pen, :get_pen
1402
+
1403
+ # Sets the current background brush for the DC.
1404
+ # @param brush [Wx::Brush]
1405
+ # @return [void]
1406
+ def set_background(brush) end
1407
+ alias_method :background=, :set_background
1408
+
1409
+ # Sets the current brush for the DC.
1410
+ #
1411
+ # If the argument is {Wx::NULL_BRUSH} (or another invalid brush; see {Wx::Brush#is_ok}), the current brush is selected out of the device context (leaving {Wx::DC} without any valid brush), allowing the current brush to be destroyed safely.
1412
+ # @see Wx::Brush
1413
+ # @see Wx::MemoryDC (for the interpretation of colours when drawing into a monochrome bitmap)
1414
+ # @param brush [Wx::Brush]
1415
+ # @return [void]
1416
+ def set_brush(brush) end
1417
+ alias_method :brush=, :set_brush
1418
+
1419
+ # Sets the current pen for the DC.
1420
+ #
1421
+ # If the argument is {Wx::NULL_PEN} (or another invalid pen; see {Wx::Pen#is_ok}), the current pen is selected out of the device context (leaving {Wx::DC} without any valid pen), allowing the current pen to be destroyed safely.
1422
+ # @see Wx::MemoryDC for the interpretation of colours when drawing into a monochrome bitmap.
1423
+ # @param pen [Wx::Pen]
1424
+ # @return [void]
1425
+ def set_pen(pen) end
1426
+ alias_method :pen=, :set_pen
1427
+
1428
+ # Gets the current logical function.
1429
+ #
1430
+ #
1431
+ # @see Wx::DC#set_logical_function
1432
+ # @return [Wx::RasterOperationMode]
1433
+ def get_logical_function; end
1434
+ alias_method :logical_function, :get_logical_function
1435
+
1436
+ # Gets in colour the colour at the specified location.
1437
+ #
1438
+ # This method isn't available for {Wx::PRT::PostScriptDC} or {Wx::MetafileDC} nor for any DC in WXOSX port and simply returns false there.
1439
+ #
1440
+ # <div class="wxrb-note">
1441
+ # <b>Note:</b>
1442
+ # <p>Setting a pixel can be done using {Wx::DC#draw_point}.
1443
+ # </p>
1444
+ # </div>
1445
+ #
1446
+ # <div class="wxrb-note">
1447
+ # <b>Note:</b>
1448
+ # <p>This method shouldn't be used with {Wx::PaintDC} as accessing the DC while drawing can result in unexpected results, notably in WXGTK.
1449
+ # </p>
1450
+ # </div>
1451
+ #
1452
+ # <div class="wxrb-note">
1453
+ # <b>Note:</b>
1454
+ # <p>This method can only be used with {Wx::MemoryDC} under {Wx::Qt}.
1455
+ # </p>
1456
+ # </div>
1457
+ # @param x [Integer]
1458
+ # @param y [Integer]
1459
+ # @param colour [Wx::Colour]
1460
+ # @return [Boolean]
1461
+ def get_pixel(x, y, colour) end
1462
+ alias_method :pixel, :get_pixel
1463
+
1464
+ # Sets the current logical function for the device context.
1465
+ #
1466
+ # <div class="wxrb-note">
1467
+ # <b>Note:</b>
1468
+ # <p>This function is not fully supported in all ports, due to the limitations of the underlying drawing model. Notably, {Wx::RasterOperationMode::INVERT} which was commonly used for drawing rubber bands or other moving outlines in the past, is not, and will not, be supported by WXGTK3 and WXOSX. The suggested alternative is to draw temporarily objects normally and refresh the (affected part of the) window to remove them later.
1469
+ # </p>
1470
+ # </div>
1471
+ #
1472
+ # It determines how a source pixel (from a pen or brush colour, or source device context if using {Wx::DC#blit}) combines with a destination pixel in the current device context. Text drawing is not affected by this function.
1473
+ # See {Wx::RasterOperationMode} enumeration values for more info.
1474
+ # The default is {Wx::RasterOperationMode::COPY}, which simply draws with the current colour. The others combine the current colour and the background using a logical operation.
1475
+ # @param function [Wx::RasterOperationMode]
1476
+ # @return [void]
1477
+ def set_logical_function(function) end
1478
+ alias_method :logical_function=, :set_logical_function
1479
+
1480
+ # If this is a window DC or memory DC, assigns the given palette to the window or bitmap associated with the DC.
1481
+ #
1482
+ # If the argument is {Wx::NULL_PALETTE}, the current palette is selected out of the device context, and the original palette restored.
1483
+ # @see Wx::Palette
1484
+ # @param palette [Wx::Palette]
1485
+ # @return [void]
1486
+ def set_palette(palette) end
1487
+ alias_method :palette=, :set_palette
1488
+
1489
+ # Copy attributes from another DC.
1490
+ #
1491
+ # The copied attributes currently are:
1492
+ #
1493
+ # - Font
1494
+ # - Text foreground and background colours
1495
+ # - Background brush
1496
+ # - Layout direction
1497
+ #
1498
+ # Note that the scaling factor is not considered to be an attribute of {Wx::DC} and is not copied by this function.
1499
+ # @param dc [Wx::DC] A valid (i.e. its {Wx::DC#is_ok} must return true) source device context.
1500
+ # @return [void]
1501
+ def copy_attributes(dc) end
1502
+
1503
+ # If supported by the platform and the type of DC, fetch the contents of the DC, or a subset of it, as a bitmap.
1504
+ # @param subrect [Wx::Rect]
1505
+ # @return [Wx::Bitmap]
1506
+ def get_as_bitmap(subrect=nil) end
1507
+ alias_method :as_bitmap, :get_as_bitmap
1508
+
1509
+ # If supported by the platform and the {Wx::DC} implementation, this method will return the {Wx::GraphicsContext} associated with the DC.
1510
+ #
1511
+ # Otherwise nil is returned.
1512
+ # @return [Wx::GraphicsContext]
1513
+ def get_graphics_context; end
1514
+ alias_method :graphics_context, :get_graphics_context
1515
+
1516
+ # Associate a {Wx::GraphicsContext} with the DC.
1517
+ #
1518
+ # Ignored if not supported by the specific {Wx::DC} implementation. It is unlikely that this will need to be used in application code.
1519
+ # @param ctx [Wx::GraphicsContext]
1520
+ # @return [void]
1521
+ def set_graphics_context(ctx) end
1522
+ alias_method :graphics_context=, :set_graphics_context
1523
+
1524
+ end # DC
1525
+
1526
+ # Class used for querying the window device context.
1527
+ #
1528
+ # This class can be used to retrieve information about the window device context, including its coordinate system and text extents.
1529
+ # Unlike {Wx::PaintDC}, objects of this class can be created at any time.
1530
+ #
1531
+ #
1532
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
1533
+ class InfoDC < ReadOnlyDC
1534
+
1535
+ # Create the information device context associated with the given window.
1536
+ # @param win [Wx::Window] Valid, i.e. non-nil, window pointer.
1537
+ # @return [Wx::InfoDC]
1538
+ def initialize(win) end
1539
+
1540
+ end # InfoDC
1541
+
1542
+ # Simple collection of various font metrics.
1543
+ #
1544
+ # This object is returned by {Wx::DC#get_font_metrics}.
1545
+ #
1546
+ # Category: Device Contexts, Graphics Device Interface (GDI)
1547
+ #
1548
+ #
1549
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
1550
+ class FontMetrics < ::Object
1551
+
1552
+ # Total character height.
1553
+ #
1554
+ #
1555
+ # @return [Integer]
1556
+ def height; end
1557
+ # Total character height.
1558
+ #
1559
+ #
1560
+ # @param val [Integer]
1561
+ # @return [void]
1562
+ def height=(val); end
1563
+
1564
+ # Part of the height above the baseline.
1565
+ #
1566
+ #
1567
+ # @return [Integer]
1568
+ def ascent; end
1569
+ # Part of the height above the baseline.
1570
+ #
1571
+ #
1572
+ # @param val [Integer]
1573
+ # @return [void]
1574
+ def ascent=(val); end
1575
+
1576
+ # Part of the height below the baseline.
1577
+ #
1578
+ #
1579
+ # @return [Integer]
1580
+ def descent; end
1581
+ # Part of the height below the baseline.
1582
+ #
1583
+ #
1584
+ # @param val [Integer]
1585
+ # @return [void]
1586
+ def descent=(val); end
1587
+
1588
+ # Intra-line spacing.
1589
+ #
1590
+ #
1591
+ # @return [Integer]
1592
+ def internal_leading; end
1593
+ # Intra-line spacing.
1594
+ #
1595
+ #
1596
+ # @param val [Integer]
1597
+ # @return [void]
1598
+ def internal_leading=(val); end
1599
+
1600
+ # Inter-line spacing.
1601
+ #
1602
+ #
1603
+ # @return [Integer]
1604
+ def external_leading; end
1605
+ # Inter-line spacing.
1606
+ #
1607
+ #
1608
+ # @param val [Integer]
1609
+ # @return [void]
1610
+ def external_leading=(val); end
1611
+
1612
+ # Average font width, a.k.a. "x-width".
1613
+ #
1614
+ #
1615
+ # @return [Integer]
1616
+ def average_width; end
1617
+ # Average font width, a.k.a. "x-width".
1618
+ #
1619
+ #
1620
+ # @param val [Integer]
1621
+ # @return [void]
1622
+ def average_width=(val); end
1623
+
1624
+ # Constructor initializes all fields to 0.
1625
+ # @return [Wx::FontMetrics]
1626
+ def initialize; end
1627
+
1628
+ end # FontMetrics
1629
+
1630
+
1631
+ end