1. Compilation Units

    1. Cairo
    2. Cairo.Font_Face
    3. Cairo.Font_Options
    4. Cairo.Image_Surface
    5. Cairo.PDF
    6. Cairo.Matrix
    7. Cairo.Pattern
    8. Cairo.Png
    9. Cairo.SVG
    10. Cairo.Region
    11. Cairo.Scaled_Font
    12. Cairo.Surface
    13. Fontconfig
    14. Gdk
    15. Gdk.App_Launch_Context
    16. Gdk.Cicp_Params
    17. Gdk.Clipboard
    18. Gdk.Color_State
    19. Gdk.Content_Formats
    20. Gdk.Content_Provider
    21. Gdk.Cursor
    22. Gdk.Device
    23. Gdk.Device_Tool
    24. Gdk.Display
    25. Gdk.Display_Manager
    26. Gdk.Dmabuf_Formats
    27. Gdk.Dmabuf_Texture
    28. Gdk.Dmabuf_Texture_Builder
    29. Gdk.Drag
    30. Gdk.Draw_Context
    31. Gdk.Drop
    32. Gdk.Enums
    33. Gdk.Event
    34. Gdk.Event.Button_Event
    35. Gdk.Event.DND_Event
    36. Gdk.Event.Crossing_Event
    37. Gdk.Event.Delete_Event
    38. Gdk.Event.Focus_Event
    39. Gdk.Event.Grab_Broken_Event
    40. Gdk.Event.Key_Event
    41. Gdk.Event.Motion_Event
    42. Gdk.Event.Pad_Event
    43. Gdk.Event.Proximity_Event
    44. Gdk.Event.Scroll_Event
    45. Gdk.Event.Touch_Event
    46. Gdk.Event.Touchpad_Event
    47. Gdk.Frame_Clock
    48. Gdk.Frame_Timings
    49. Gdk.GLContext
    50. Gdk.GLTexture
    51. Gdk.GLTexture_Builder
    52. Gdk.Key_Match
    53. Gdk.Memory_Texture
    54. Gdk.Memory_Texture_Builder
    55. Gdk.Monitor
    56. Gdk.Paintable
    57. Gdk.Pixbuf
    58. Gdk.Pixbuf_Format
    59. Gdk.RGBA
    60. Gdk.Popup_Layout
    61. Gdk.Rectangle
    62. Gdk.Seat
    63. Gdk.Snapshot
    64. Gdk.Surface
    65. Gdk.Texture
    66. Gdk.Toplevel_Layout
    67. Glib
    68. Glib.Action
    69. Glib.Action_Group
    70. Glib.Action_Map
    71. Glib.App_Info
      1. Glib.App_Info.Get_Default_For_Type_Async_User_Data
      2. Glib.App_Info.Get_Default_For_Uri_Scheme_Async_User_Data
      3. Glib.App_Info.Launch_Default_For_Uri_Async_User_Data
    72. Glib.App_Launch_Context
    73. Glib.Application
    74. Glib.Bytes
    75. Glib.Cancellable
      1. Glib.Cancellable.Connect_User_Data
    76. Glib.Convert
    77. Glib.Date_Time
    78. Glib.Enums
    79. Glib.Error
    80. Glib.File_IO_Stream
    81. Glib.Error_Enums
    82. Glib.File_Info
    83. Glib.File_Input_Stream
    84. Glib.GFile
    85. Glib.GSlist
      1. Glib.GSlist.Generic_SList
    86. Glib.File_Output_Stream
    87. Glib.G_Icon
    88. Glib.Generic_Properties
      1. Glib.Generic_Properties.Generic_Enumeration_Property
      2. Glib.Generic_Properties.Generic_Internal_Boxed_Property
      3. Glib.Generic_Properties.Generic_Internal_Discrete_Property
      4. Glib.Generic_Properties.Generic_Internal_Flags_Property
    89. Glib.Glist
      1. Glib.Glist.Generic_List
    90. Glib.Gnodes
      1. Glib.Gnodes.Gnode_Data
    91. Glib.IOChannel
    92. Glib.Graphs
    93. Glib.IO_Stream
    94. Glib.Graphs.Layouts
      1. Glib.Graphs.Layouts.Layered_Layouts
    95. Glib.Input_Stream
    96. Glib.Key_File
    97. Glib.List_Model
    98. Glib.List_Store
    99. Glib.Loadable_Icon
    100. Glib.Main
      1. Glib.Main.Generic_Sources
    101. Glib.Menu
    102. Glib.Menu_Model
    103. Glib.Messages
    104. Glib.Module
    105. Glib.Notification
    106. Glib.Object
      1. Glib.Object.User_Data
      2. Glib.Object.User_Data_Closure
    107. Glib.Option
      1. Glib.Option.Set_Translate_Func_User_Data
    108. Glib.Output_Stream
    109. Glib.Poll
    110. Glib.Properties
    111. Glib.Properties.Creation
    112. Glib.Resource
    113. Glib.Settings
    114. Glib.Settings_Backend
    115. Glib.Settings_Schema
    116. Glib.Settings_Schema_Key
    117. Glib.Settings_Schema_Source
    118. Glib.Simple_Action
    119. Glib.Simple_Action_Group
    120. Glib.Spawn
    121. Glib.String
    122. Glib.Test
    123. Glib.Time_Zone
    124. Glib.Type_Conversion_Hooks
      1. Glib.Type_Conversion_Hooks.Hook_Registrator
    125. Glib.Types
      1. Glib.Types.Implements
    126. Glib.Unicode
    127. Glib.Utils
    128. Glib.Values
    129. Glib.Variant
    130. Glib.XML
    131. Graphene
    132. Graphene.Box
    133. Graphene.Config
    134. Graphene.Euler
    135. Graphene.Frustum
    136. Graphene.Matrix
    137. Graphene.Plane
    138. Graphene.Point
    139. Graphene.Point3d
    140. Graphene.Quad
    141. Graphene.Quaternion
    142. Graphene.Ray
    143. Graphene.Rect
    144. Graphene.Size
    145. Graphene.Sphere
    146. Graphene.Triangle
    147. Graphene.Vec2
    148. Graphene.Vec3
    149. Graphene.Vec4
    150. Gsk
    151. Gsk.Enums
    152. Gsk.Path
    153. Gsk.Path_Builder
    154. Gsk.Path_Measure
    155. Gsk.Path_Point
    156. Gsk.Stroke
    157. Gsk.Transform
    158. Gtk
    159. Gtk.About_Dialog
    160. Gtk.Accessible
    161. Gtk.Accessible_Hyperlink
    162. Gtk.Accessible_Hypertext
    163. Gtk.Accessible_Range
    164. Gtk.Accessible_Text
    165. Gtk.Action_Bar
    166. Gtk.Actionable
    167. Gtk.Activate_Action
    168. Gtk.Adjustment
    169. Gtk.Alert_Dialog
    170. Gtk.Alternative_Trigger
    171. Gtk.Any_Filter
    172. Gtk.Application
    173. Gtk.Application_Window
    174. Gtk.Arguments
    175. Gtk.Aspect_Frame
    176. Gtk.Assistant
      1. Gtk.Assistant.Set_Forward_Page_Func_User_Data
    177. Gtk.Assistant_Page
    178. Gtk.Atcontext
    179. Gtk.Bin_Layout
    180. Gtk.Bitset
    181. Gtk.Bitset_Iter
    182. Gtk.Bookmark_List
    183. Gtk.Bool_Filter
    184. Gtk.Box
    185. Gtk.Box_Layout
    186. Gtk.Buildable
    187. Gtk.Builder
    188. Gtk.Builder_CScope
    189. Gtk.Builder_List_Item_Factory
    190. Gtk.Builder_Scope
    191. Gtk.Button
    192. Gtk.Callback_Action
      1. Gtk.Callback_Action.Callback_Action_With_Data
    193. Gtk.Cclosure_Expression
    194. Gtk.Cell_Area
      1. Gtk.Cell_Area.Foreach_Alloc_User_Data
      2. Gtk.Cell_Area.Foreach_User_Data
      3. Gtk.Cell_Area.Set_Cell_Data_Func_User_Data
    195. Gtk.Cell_Area_Box
      1. Gtk.Cell_Area_Box.Set_Cell_Data_Func_User_Data
    196. Gtk.Cell_Area_Context
    197. Gtk.Cell_Editable
    198. Gtk.Cell_Layout
      1. Gtk.Cell_Layout.Set_Cell_Data_Func_User_Data
    199. Gtk.Cell_Renderer
    200. Gtk.Cell_Renderer_Accel
    201. Gtk.Cell_Renderer_Combo
    202. Gtk.Cell_Renderer_Progress
    203. Gtk.Cell_Renderer_Spin
    204. Gtk.Cell_Renderer_Spinner
    205. Gtk.Cell_Renderer_Text
    206. Gtk.Cell_Renderer_Toggle
    207. Gtk.Cell_View
      1. Gtk.Cell_View.Set_Cell_Data_Func_User_Data
    208. Gtk.Center_Box
    209. Gtk.Center_Layout
    210. Gtk.Check_Button
    211. Gtk.Closure_Expression
    212. Gtk.Color_Dialog
    213. Gtk.Color_Dialog_Button
    214. Gtk.Column_View
    215. Gtk.Column_View_Cell
    216. Gtk.Column_View_Column
    217. Gtk.Column_View_Row
    218. Gtk.Column_View_Sorter
    219. Gtk.Constant_Expression
    220. Gtk.Constraint
    221. Gtk.Constraint_Guide
    222. Gtk.Constraint_Layout
    223. Gtk.Constraint_Target
    224. Gtk.Css_Provider
    225. Gtk.Css_Section
    226. Gtk.Custom_Filter
      1. Gtk.Custom_Filter.Custom_Filter_User_Data
    227. Gtk.Custom_Sorter
      1. Gtk.Custom_Sorter.Custom_Sorter_User_Data
    228. Gtk.Dialog
    229. Gtk.Directory_List
    230. Gtk.Drag_Source
    231. Gtk.Drawing_Area
      1. Gtk.Drawing_Area.Set_Draw_Func_User_Data
    232. Gtk.Drop_Down
    233. Gtk.Drop_Target
    234. Gtk.Editable
    235. Gtk.Editable_Label
    236. Gtk.Emoji_Chooser
    237. Gtk.Entry_Buffer
    238. Gtk.Entry_Completion
      1. Gtk.Entry_Completion.Set_Cell_Data_Func_User_Data
      2. Gtk.Entry_Completion.Set_Match_Func_User_Data
    239. Gtk.Enums
    240. Gtk.Event_Controller
    241. Gtk.Event_Controller_Focus
    242. Gtk.Event_Controller_Key
    243. Gtk.Event_Controller_Legacy
    244. Gtk.Event_Controller_Motion
    245. Gtk.Event_Controller_Scroll
    246. Gtk.Every_Filter
    247. Gtk.Expander
    248. Gtk.Expression
      1. Gtk.Expression.Watch_User_Data
    249. Gtk.Expression_Watch
    250. Gtk.File_Dialog
    251. Gtk.File_Filter
    252. Gtk.File_Launcher
    253. Gtk.Filter
    254. Gtk.Filter_List_Model
    255. Gtk.Fixed
    256. Gtk.Fixed_Layout
    257. Gtk.Flatten_List_Model
    258. Gtk.Flow_Box
      1. Gtk.Flow_Box.Bind_Model_User_Data
      2. Gtk.Flow_Box.Selected_Foreach_User_Data
      3. Gtk.Flow_Box.Set_Filter_Func_User_Data
      4. Gtk.Flow_Box.Set_Sort_Func_User_Data
    259. Gtk.Flow_Box_Child
    260. Gtk.Font_Dialog
    261. Gtk.Font_Dialog_Button
    262. Gtk.Frame
    263. Gtk.GLArea
    264. Gtk.GRange
    265. Gtk.GEntry
    266. Gtk.Gesture
    267. Gtk.Gesture_Click
    268. Gtk.Gesture_Drag
    269. Gtk.Gesture_Long_Press
    270. Gtk.Gesture_Pan
    271. Gtk.Gesture_Rotate
    272. Gtk.Gesture_Single
    273. Gtk.Gesture_Stylus
    274. Gtk.Gesture_Swipe
    275. Gtk.Gesture_Zoom
    276. Gtk.Graphics_Offload
    277. Gtk.Grid
    278. Gtk.Grid_Layout
    279. Gtk.Grid_View
    280. Gtk.IM_Context
    281. Gtk.IM_Context_Simple
    282. Gtk.IM_Multi_Context
    283. Gtk.Header_Bar
    284. Gtk.Icon_Paintable
    285. Gtk.Icon_Theme
    286. Gtk.Image
    287. Gtk.Info_Bar
    288. Gtk.Inscription
    289. Gtk.Keyval_Trigger
    290. Gtk.Label
    291. Gtk.Layout_Manager
    292. Gtk.Level_Bar
    293. Gtk.Link_Button
    294. Gtk.List_Base
    295. Gtk.List_Box
      1. Gtk.List_Box.Bind_Model_User_Data
      2. Gtk.List_Box.Selected_Foreach_User_Data
      3. Gtk.List_Box.Set_Filter_Func_User_Data
      4. Gtk.List_Box.Set_Header_Func_User_Data
      5. Gtk.List_Box.Set_Sort_Func_User_Data
    296. Gtk.List_Box_Row
    297. Gtk.List_Item
    298. Gtk.List_Item_Factory
    299. Gtk.List_Store
      1. Gtk.List_Store.Foreach_User_Data
      2. Gtk.List_Store.Set_Default_Sort_Func_User_Data
      3. Gtk.List_Store.Set_Sort_Func_User_Data
    300. Gtk.List_View
    301. Gtk.Main
    302. Gtk.Map_List_Model
      1. Gtk.Map_List_Model.Map_List_Model_User_Data
    303. Gtk.Menu_Button
      1. Gtk.Menu_Button.Set_Create_Popup_Func_User_Data
    304. Gtk.Message_Dialog
    305. Gtk.Mnemonic_Action
    306. Gtk.Mnemonic_Trigger
    307. Gtk.Multi_Filter
    308. Gtk.Multi_Selection
    309. Gtk.Multi_Sorter
    310. Gtk.Named_Action
    311. Gtk.Native
    312. Gtk.Native_Dialog
    313. Gtk.Never_Trigger
    314. Gtk.No_Selection
    315. Gtk.Notebook
    316. Gtk.Notebook_Page
    317. Gtk.Nothing_Action
    318. Gtk.Numeric_Sorter
    319. Gtk.Object_Expression
    320. Gtk.Orientable
    321. Gtk.Overlay
    322. Gtk.Overlay_Layout
    323. Gtk.Page_Setup
    324. Gtk.Page_Setup_Unix_Dialog
    325. Gtk.Paned
    326. Gtk.Paper_Size
    327. Gtk.Password_Entry
    328. Gtk.Password_Entry_Buffer
    329. Gtk.Picture
    330. Gtk.Popover
    331. Gtk.Popover_Menu
    332. Gtk.Popover_Menu_Bar
    333. Gtk.Print_Context
    334. Gtk.Print_Dialog
    335. Gtk.Print_Operation
    336. Gtk.Print_Operation_Preview
    337. Gtk.Print_Settings
      1. Gtk.Print_Settings.Foreach_User_Data
    338. Gtk.Print_Setup
    339. Gtk.Progress_Bar
    340. Gtk.Property_Expression
    341. Gtk.Recent_Info
    342. Gtk.Recent_Manager
    343. Gtk.Revealer
    344. Gtk.Root
    345. Gtk.Scale
      1. Gtk.Scale.Set_Format_Value_Func_User_Data
    346. Gtk.Scale_Button
    347. Gtk.Scroll_Info
    348. Gtk.Scrollable
    349. Gtk.Scrollbar
    350. Gtk.Scrolled_Window
    351. Gtk.Search_Bar
    352. Gtk.Search_Entry
    353. Gtk.Section_Model
    354. Gtk.Selection_Filter_Model
    355. Gtk.Selection_Model
    356. Gtk.Separator
    357. Gtk.Settings
    358. Gtk.Shortcut
    359. Gtk.Shortcut_Action
    360. Gtk.Shortcut_Controller
    361. Gtk.Shortcut_Manager
    362. Gtk.Shortcut_Trigger
    363. Gtk.Signal_Action
    364. Gtk.Signal_List_Item_Factory
    365. Gtk.Single_Selection
    366. Gtk.Size_Group
    367. Gtk.Slice_List_Model
    368. Gtk.Snapshot
    369. Gtk.Sort_List_Model
    370. Gtk.Sorter
    371. Gtk.Spin_Button
    372. Gtk.Spinner
    373. Gtk.Stack
    374. Gtk.Stack_Page
    375. Gtk.Stack_Sidebar
    376. Gtk.Stack_Switcher
    377. Gtk.String_Filter
    378. Gtk.String_List
    379. Gtk.String_Object
    380. Gtk.String_Sorter
    381. Gtk.Style_Context
    382. Gtk.Style_Provider
    383. Gtk.Switch
    384. Gtk.Symbolic_Paintable
    385. Gtk.Text_Buffer
    386. Gtk.Text_Child_Anchor
    387. Gtk.Text_Iter
      1. Gtk.Text_Iter.Forward_Find_Char_User_Data
    388. Gtk.Text_Mark
    389. Gtk.Text_Tag
    390. Gtk.Text_Tag_Table
      1. Gtk.Text_Tag_Table.Foreach_User_Data
    391. Gtk.Text_View
    392. Gtk.Toggle_Button
    393. Gtk.Tooltip
    394. Gtk.Tree_Drag_Dest
    395. Gtk.Tree_Drag_Source
    396. Gtk.Tree_Expander
    397. Gtk.Tree_List_Model
      1. Gtk.Tree_List_Model.Gtk_Tree_List_Model_User_Data
    398. Gtk.Tree_List_Row
    399. Gtk.Tree_List_Row_Sorter
    400. Gtk.Tree_Model
      1. Gtk.Tree_Model.Foreach_User_Data
    401. Gtk.Tree_Model_Filter
      1. Gtk.Tree_Model_Filter.Foreach_User_Data
      2. Gtk.Tree_Model_Filter.Set_Modify_Func_User_Data
      3. Gtk.Tree_Model_Filter.Set_Visible_Func_User_Data
    402. Gtk.Tree_Model_Sort
      1. Gtk.Tree_Model_Sort.Foreach_User_Data
      2. Gtk.Tree_Model_Sort.Set_Default_Sort_Func_User_Data
      3. Gtk.Tree_Model_Sort.Set_Sort_Func_User_Data
    403. Gtk.Tree_Row_Reference
    404. Gtk.Tree_Selection
      1. Gtk.Tree_Selection.Selected_Foreach_User_Data
      2. Gtk.Tree_Selection.Set_Select_Function_User_Data
    405. Gtk.Tree_Sortable
      1. Gtk.Tree_Sortable.Set_Default_Sort_Func_User_Data
      2. Gtk.Tree_Sortable.Set_Sort_Func_User_Data
    406. Gtk.Tree_Store
      1. Gtk.Tree_Store.Foreach_User_Data
      2. Gtk.Tree_Store.Generic_Set
      3. Gtk.Tree_Store.Set_Default_Sort_Func_User_Data
      4. Gtk.Tree_Store.Set_Sort_Func_User_Data
    407. Gtk.Tree_View
      1. Gtk.Tree_View.Insert_Column_With_Data_Func_User_Data
      2. Gtk.Tree_View.Map_Expanded_Rows_User_Data
      3. Gtk.Tree_View.Set_Column_Drag_Function_User_Data
      4. Gtk.Tree_View.Set_Row_Separator_Func_User_Data
      5. Gtk.Tree_View.Set_Search_Equal_Func_User_Data
    408. Gtk.Tree_View_Column
      1. Gtk.Tree_View_Column.Set_Cell_Data_Func_User_Data
    409. Gtk.Try_Expression
    410. Gtk.Uri_Launcher
    411. Gtk.Viewport
    412. Gtk.Volume_Button
    413. Gtk.Widget
      1. Gtk.Widget.Add_Tick_Callback_User_Data
    414. Gtk.Window
    415. Gtkada
    416. Gtkada.Bindings
    417. Gtkada.C
      1. Gtkada.C.Unbounded_Arrays
    418. Gtkada.Intl
    419. Gtkada.Types
    420. Pango
    421. Pango.Attributes
    422. Pango.Cairo
    423. Pango.Color
    424. Pango.Context
    425. Pango.Coverage
    426. Pango.Enums
    427. Pango.Font
    428. Pango.Font_Face
    429. Pango.Font_Family
    430. Pango.Font_Map
    431. Pango.Font_Metrics
    432. Pango.Fontset
      1. Pango.Fontset.Foreach_User_Data
    433. Pango.Language
    434. Pango.Layout
    435. Pango.Matrix
    436. Pango.Tabs
  2. Tagged Types

    1. Gdk.App_Launch_Context.Gdk_App_Launch_Context_Record
    2. Gdk.Cicp_Params.Gdk_Cicp_Params_Record
    3. Gdk.Clipboard.Gdk_Clipboard_Record
    4. Gdk.Color_State.Gdk_Color_State
    5. Gdk.Content_Formats.Gdk_Content_Formats
    6. Gdk.Content_Provider.Gdk_Content_Provider_Record
    7. Gdk.Cursor.Gdk_Cursor_Record
    8. Gdk.Device.Gdk_Device_Record
    9. Gdk.Device_Tool.Gdk_Device_Tool_Record
    10. Gdk.Display.Gdk_Display_Record
    11. Gdk.Display_Manager.Gdk_Display_Manager_Record
    12. Gdk.Dmabuf_Formats.Gdk_Dmabuf_Formats
    13. Gdk.Dmabuf_Texture.Gdk_Dmabuf_Texture_Record
    14. Gdk.Dmabuf_Texture_Builder.Gdk_Dmabuf_Texture_Builder_Record
    15. Gdk.Drag.Gdk_Drag_Record
    16. Gdk.Draw_Context.Gdk_Draw_Context_Record
    17. Gdk.Event.Button_Event.Gdk_Button_Event
    18. Gdk.Event.DND_Event.Gdk_DND_Event
    19. Gdk.Event.Crossing_Event.Gdk_Crossing_Event
    20. Gdk.Event.Delete_Event.Gdk_Delete_Event
    21. Gdk.Event.Focus_Event.Gdk_Focus_Event
    22. Gdk.Drop.Gdk_Drop_Record
    23. Gdk.Event.Gdk_Event
    24. Gdk.Event.Grab_Broken_Event.Gdk_Grab_Broken_Event
    25. Gdk.Event.Key_Event.Gdk_Key_Event
    26. Gdk.Event.Motion_Event.Gdk_Motion_Event
    27. Gdk.Event.Pad_Event.Gdk_Pad_Event
    28. Gdk.Event.Proximity_Event.Gdk_Proximity_Event
    29. Gdk.Event.Scroll_Event.Gdk_Scroll_Event
    30. Gdk.Event.Touch_Event.Gdk_Touch_Event
    31. Gdk.Event.Touchpad_Event.Gdk_Touchpad_Event
    32. Gdk.Frame_Clock.Gdk_Frame_Clock_Record
    33. Gdk.Frame_Timings.Gdk_Frame_Timings
    34. Gdk.GLContext.Gdk_GLContext_Record
    35. Gdk.GLTexture.Gdk_Gltexture_Record
    36. Gdk.GLTexture_Builder.Gdk_Gltexture_Builder_Record
    37. Gdk.Memory_Texture.Gdk_Memory_Texture_Record
    38. Gdk.Memory_Texture_Builder.Gdk_Memory_Texture_Builder_Record
    39. Gdk.Monitor.Gdk_Monitor_Record
    40. Gdk.Pixbuf.Gdk_Pixbuf_Record
    41. Gdk.Popup_Layout.Gdk_Popup_Layout
    42. Gdk.Seat.Gdk_Seat_Record
    43. Gdk.Snapshot.Gdk_Snapshot_Record
    44. Gdk.Surface.Gdk_Surface_Record
    45. Gdk.Texture.Gdk_Texture_Record
    46. Glib.App_Launch_Context.Gapp_Launch_Context_Record
    47. Glib.Application.Gapplication_Command_Line_Record
    48. Glib.Application.Gapplication_Record
    49. Glib.Bytes.Gbytes
    50. Gdk.Toplevel_Layout.Gdk_Toplevel_Layout
    51. Glib.C_Boxed
    52. Glib.Cancellable.Gcancellable_Record
    53. Glib.File_IO_Stream.Gfile_Iostream_Record
    54. Glib.Date_Time.Gdate_Time
    55. Glib.File_Info.Gfile_Info_Record
    56. Glib.File_Input_Stream.Gfile_Input_Stream_Record
    57. Glib.File_Output_Stream.Gfile_Output_Stream_Record
    58. Glib.Graphs.Layouts.Base_Dummy_Vertex
    59. Glib.Graphs.Edge
    60. Glib.IO_Stream.Giostream_Record
    61. Glib.Graphs.Vertex
    62. Glib.Input_Stream.Ginput_Stream_Record
    63. Glib.List_Store.Glist_Store_Record
    64. Glib.Menu.Gmenu_Item_Record
    65. Glib.Menu.Gmenu_Record
    66. Glib.Menu_Model.Gmenu_Attribute_Iter_Record
    67. Glib.Menu_Model.Gmenu_Link_Iter_Record
    68. Glib.Menu_Model.Gmenu_Model_Record
    69. Glib.Object.GObject_Record
    70. Glib.Notification.Gnotification_Record
    71. Glib.Object.G_Binding_Record
    72. Glib.Option.Goption_Context
    73. Glib.Output_Stream.Goutput_Stream_Record
    74. Glib.Resource.Gresource
    75. Glib.Settings.Gsettings_Record
    76. Glib.Settings_Backend.Gsettings_Backend_Record
    77. Glib.Settings_Schema.Gsettings_Schema
    78. Glib.Settings_Schema_Key.Gsettings_Schema_Key
    79. Glib.Settings_Schema_Source.Gsettings_Schema_Source
    80. Glib.Simple_Action.Gsimple_Action_Record
    81. Glib.Simple_Action_Group.Gsimple_Action_Group_Record
    82. Glib.Time_Zone.Gtime_Zone
    83. Glib.Variant.Gvariant
    84. Gsk.Path.Gsk_Path
    85. Gsk.Path_Builder.Gsk_Path_Builder
    86. Gsk.Path_Measure.Gsk_Path_Measure
    87. Gsk.Stroke.Gsk_Stroke
    88. Gsk.Transform.Gsk_Transform
    89. Gtk.About_Dialog.Gtk_About_Dialog_Record
    90. Gtk.Accessible_Hyperlink.Gtk_Accessible_Hyperlink_Record
    91. Gtk.Action_Bar.Gtk_Action_Bar_Record
    92. Gtk.Activate_Action.Gtk_Activate_Action_Record
    93. Gtk.Adjustment.Gtk_Adjustment_Record
    94. Gtk.Alert_Dialog.Gtk_Alert_Dialog_Record
    95. Gtk.Alternative_Trigger.Gtk_Alternative_Trigger_Record
    96. Gtk.Any_Filter.Gtk_Any_Filter_Record
    97. Gtk.Application.Gtk_Application_Record
    98. Gtk.Application_Window.Gtk_Application_Window_Record
    99. Gtk.Aspect_Frame.Gtk_Aspect_Frame_Record
    100. Gtk.Assistant.Gtk_Assistant_Record
    101. Gtk.Assistant_Page.Gtk_Assistant_Page_Record
    102. Gtk.Atcontext.Gtk_Atcontext_Record
    103. Gtk.Bin_Layout.Gtk_Bin_Layout_Record
    104. Gtk.Bitset.Gtk_Bitset
    105. Gtk.Bookmark_List.Gtk_Bookmark_List_Record
    106. Gtk.Bool_Filter.Gtk_Bool_Filter_Record
    107. Gtk.Box.Gtk_Box_Record
    108. Gtk.Box_Layout.Gtk_Box_Layout_Record
    109. Gtk.Builder.Gtk_Builder_Record
    110. Gtk.Builder_CScope.Gtk_Builder_C_Scope_Record
    111. Gtk.Builder_List_Item_Factory.Gtk_Builder_List_Item_Factory_Record
    112. Gtk.Button.Gtk_Button_Record
    113. Gtk.Callback_Action.Gtk_Callback_Action_Record
    114. Gtk.Cclosure_Expression.Gtk_Cclosure_Expression_Record
    115. Gtk.Cell_Area.Gtk_Cell_Area_Record
    116. Gtk.Cell_Area_Box.Gtk_Cell_Area_Box_Record
    117. Gtk.Cell_Area_Context.Gtk_Cell_Area_Context_Record
    118. Gtk.Cell_Renderer.Gtk_Cell_Renderer_Record
    119. Gtk.Cell_Renderer_Accel.Gtk_Cell_Renderer_Accel_Record
    120. Gtk.Cell_Renderer_Combo.Gtk_Cell_Renderer_Combo_Record
    121. Gtk.Cell_Renderer_Progress.Gtk_Cell_Renderer_Progress_Record
    122. Gtk.Cell_Renderer_Spin.Gtk_Cell_Renderer_Spin_Record
    123. Gtk.Cell_Renderer_Spinner.Gtk_Cell_Renderer_Spinner_Record
    124. Gtk.Cell_Renderer_Text.Gtk_Cell_Renderer_Text_Record
    125. Gtk.Cell_Renderer_Toggle.Gtk_Cell_Renderer_Toggle_Record
    126. Gtk.Cell_View.Gtk_Cell_View_Record
    127. Gtk.Center_Box.Gtk_Center_Box_Record
    128. Gtk.Center_Layout.Gtk_Center_Layout_Record
    129. Gtk.Check_Button.Gtk_Check_Button_Record
    130. Gtk.Closure_Expression.Gtk_Closure_Expression_Record
    131. Gtk.Color_Dialog.Gtk_Color_Dialog_Record
    132. Gtk.Color_Dialog_Button.Gtk_Color_Dialog_Button_Record
    133. Gtk.Column_View.Gtk_Column_View_Record
    134. Gtk.Column_View_Cell.Gtk_Column_View_Cell_Record
    135. Gtk.Column_View_Column.Gtk_Column_View_Column_Record
    136. Gtk.Column_View_Row.Gtk_Column_View_Row_Record
    137. Gtk.Column_View_Sorter.Gtk_Column_View_Sorter_Record
    138. Gtk.Constant_Expression.Gtk_Constant_Expression_Record
    139. Gtk.Constraint.Gtk_Constraint_Record
    140. Gtk.Constraint_Guide.Gtk_Constraint_Guide_Record
    141. Gtk.Constraint_Layout.Gtk_Constraint_Layout_Child_Record
    142. Gtk.Constraint_Layout.Gtk_Constraint_Layout_Record
    143. Gtk.Css_Provider.Gtk_Css_Provider_Record
    144. Gtk.Css_Section.Gtk_Css_Section
    145. Gtk.Custom_Filter.Gtk_Custom_Filter_Record
    146. Gtk.Custom_Sorter.Gtk_Custom_Sorter_Record
    147. Gtk.Dialog.Gtk_Dialog_Record
    148. Gtk.Directory_List.Gtk_Directory_List_Record
    149. Gtk.Drag_Source.Gtk_Drag_Source_Record
    150. Gtk.Drawing_Area.Gtk_Drawing_Area_Record
    151. Gtk.Drop_Down.Gtk_Drop_Down_Record
    152. Gtk.Drop_Target.Gtk_Drop_Target_Record
    153. Gtk.Editable_Label.Gtk_Editable_Label_Record
    154. Gtk.Emoji_Chooser.Gtk_Emoji_Chooser_Record
    155. Gtk.Entry_Buffer.Gtk_Entry_Buffer_Record
    156. Gtk.Entry_Completion.Gtk_Entry_Completion_Record
    157. Gtk.Event_Controller.Gtk_Event_Controller_Record
    158. Gtk.Event_Controller_Focus.Gtk_Event_Controller_Focus_Record
    159. Gtk.Event_Controller_Key.Gtk_Event_Controller_Key_Record
    160. Gtk.Event_Controller_Legacy.Gtk_Event_Controller_Legacy_Record
    161. Gtk.Event_Controller_Motion.Gtk_Event_Controller_Motion_Record
    162. Gtk.Event_Controller_Scroll.Gtk_Event_Controller_Scroll_Record
    163. Gtk.Every_Filter.Gtk_Every_Filter_Record
    164. Gtk.Expander.Gtk_Expander_Record
    165. Gtk.Expression.Dummy_Gtk_Expression_Record
    166. Gtk.Expression.Gtk_Expression_Record
    167. Gtk.Expression_Watch.Gtk_Expression_Watch
    168. Gtk.File_Dialog.Gtk_File_Dialog_Record
    169. Gtk.File_Filter.Gtk_File_Filter_Record
    170. Gtk.File_Launcher.Gtk_File_Launcher_Record
    171. Gtk.Filter.Gtk_Filter_Record
    172. Gtk.Filter_List_Model.Gtk_Filter_List_Model_Record
    173. Gtk.Fixed.Gtk_Fixed_Record
    174. Gtk.Fixed_Layout.Gtk_Fixed_Layout_Child_Record
    175. Gtk.Fixed_Layout.Gtk_Fixed_Layout_Record
    176. Gtk.Flatten_List_Model.Gtk_Flatten_List_Model_Record
    177. Gtk.Flow_Box.Gtk_Flow_Box_Record
    178. Gtk.Flow_Box_Child.Gtk_Flow_Box_Child_Record
    179. Gtk.Font_Dialog.Gtk_Font_Dialog_Record
    180. Gtk.Font_Dialog_Button.Gtk_Font_Dialog_Button_Record
    181. Gtk.Frame.Gtk_Frame_Record
    182. Gtk.GLArea.Gtk_GLArea_Record
    183. Gtk.GRange.Gtk_Range_Record
    184. Gtk.GEntry.Gtk_Entry_Record
    185. Gtk.Gesture.Gtk_Gesture_Record
    186. Gtk.Gesture_Click.Gtk_Gesture_Click_Record
    187. Gtk.Gesture_Drag.Gtk_Gesture_Drag_Record
    188. Gtk.Gesture_Long_Press.Gtk_Gesture_Long_Press_Record
    189. Gtk.Gesture_Pan.Gtk_Gesture_Pan_Record
    190. Gtk.Gesture_Rotate.Gtk_Gesture_Rotate_Record
    191. Gtk.Gesture_Single.Gtk_Gesture_Single_Record
    192. Gtk.Gesture_Stylus.Gtk_Gesture_Stylus_Record
    193. Gtk.Gesture_Swipe.Gtk_Gesture_Swipe_Record
    194. Gtk.Gesture_Zoom.Gtk_Gesture_Zoom_Record
    195. Gtk.Graphics_Offload.Gtk_Graphics_Offload_Record
    196. Gtk.Grid.Gtk_Grid_Record
    197. Gtk.Grid_Layout.Gtk_Grid_Layout_Child_Record
    198. Gtk.Grid_Layout.Gtk_Grid_Layout_Record
    199. Gtk.Grid_View.Gtk_Grid_View_Record
    200. Gtk.IM_Context.Gtk_IM_Context_Record
    201. Gtk.IM_Context_Simple.Gtk_IM_Context_Simple_Record
    202. Gtk.IM_Multi_Context.Gtk_IM_Multi_Context_Record
    203. Gtk.Header_Bar.Gtk_Header_Bar_Record
    204. Gtk.Icon_Paintable.Gtk_Icon_Paintable_Record
    205. Gtk.Icon_Theme.Gtk_Icon_Theme_Record
    206. Gtk.Image.Gtk_Image_Record
    207. Gtk.Info_Bar.Gtk_Info_Bar_Record
    208. Gtk.Inscription.Gtk_Inscription_Record
    209. Gtk.Keyval_Trigger.Gtk_Keyval_Trigger_Record
    210. Gtk.Label.Gtk_Label_Record
    211. Gtk.Layout_Manager.Gtk_Layout_Child_Record
    212. Gtk.Layout_Manager.Gtk_Layout_Manager_Record
    213. Gtk.Level_Bar.Gtk_Level_Bar_Record
    214. Gtk.Link_Button.Gtk_Link_Button_Record
    215. Gtk.List_Base.Gtk_List_Base_Record
    216. Gtk.List_Box.Gtk_List_Box_Record
    217. Gtk.List_Box_Row.Gtk_List_Box_Row_Record
    218. Gtk.List_Item.Gtk_List_Item_Record
    219. Gtk.List_Item_Factory.Gtk_List_Item_Factory_Record
    220. Gtk.List_Store.Gtk_List_Store_Record
    221. Gtk.List_View.Gtk_List_View_Record
    222. Gtk.Map_List_Model.Gtk_Map_List_Model_Record
    223. Gtk.Menu_Button.Gtk_Menu_Button_Record
    224. Gtk.Message_Dialog.Gtk_Message_Dialog_Record
    225. Gtk.Mnemonic_Action.Gtk_Mnemonic_Action_Record
    226. Gtk.Mnemonic_Trigger.Gtk_Mnemonic_Trigger_Record
    227. Gtk.Multi_Filter.Gtk_Multi_Filter_Record
    228. Gtk.Multi_Selection.Gtk_Multi_Selection_Record
    229. Gtk.Multi_Sorter.Gtk_Multi_Sorter_Record
    230. Gtk.Named_Action.Gtk_Named_Action_Record
    231. Gtk.Native_Dialog.Gtk_Native_Dialog_Record
    232. Gtk.Never_Trigger.Gtk_Never_Trigger_Record
    233. Gtk.No_Selection.Gtk_No_Selection_Record
    234. Gtk.Notebook.Gtk_Notebook_Record
    235. Gtk.Notebook_Page.Gtk_Notebook_Page_Record
    236. Gtk.Nothing_Action.Gtk_Nothing_Action_Record
    237. Gtk.Numeric_Sorter.Gtk_Numeric_Sorter_Record
    238. Gtk.Object_Expression.Gtk_Object_Expression_Record
    239. Gtk.Overlay.Gtk_Overlay_Record
    240. Gtk.Overlay_Layout.Gtk_Overlay_Layout_Child_Record
    241. Gtk.Overlay_Layout.Gtk_Overlay_Layout_Record
    242. Gtk.Page_Setup.Gtk_Page_Setup_Record
    243. Gtk.Page_Setup_Unix_Dialog.Gtk_Page_Setup_Unix_Dialog_Record
    244. Gtk.Paned.Gtk_Paned_Record
    245. Gtk.Paper_Size.Gtk_Paper_Size
    246. Gtk.Password_Entry.Gtk_Password_Entry_Record
    247. Gtk.Password_Entry_Buffer.Gtk_Password_Entry_Buffer_Record
    248. Gtk.Picture.Gtk_Picture_Record
    249. Gtk.Popover.Gtk_Popover_Record
    250. Gtk.Popover_Menu.Gtk_Popover_Menu_Record
    251. Gtk.Popover_Menu_Bar.Gtk_Popover_Menu_Bar_Record
    252. Gtk.Print_Context.Gtk_Print_Context_Record
    253. Gtk.Print_Dialog.Gtk_Print_Dialog_Record
    254. Gtk.Print_Operation.Gtk_Print_Operation_Record
    255. Gtk.Print_Settings.Gtk_Print_Settings_Record
    256. Gtk.Print_Setup.Gtk_Print_Setup
    257. Gtk.Progress_Bar.Gtk_Progress_Bar_Record
    258. Gtk.Property_Expression.Gtk_Property_Expression_Record
    259. Gtk.Recent_Info.Gtk_Recent_Info
    260. Gtk.Recent_Manager.Gtk_Recent_Manager_Record
    261. Gtk.Revealer.Gtk_Revealer_Record
    262. Gtk.Scale.Gtk_Scale_Record
    263. Gtk.Scale_Button.Gtk_Scale_Button_Record
    264. Gtk.Scroll_Info.Gtk_Scroll_Info
    265. Gtk.Scrollbar.Gtk_Scrollbar_Record
    266. Gtk.Scrolled_Window.Gtk_Scrolled_Window_Record
    267. Gtk.Search_Bar.Gtk_Search_Bar_Record
    268. Gtk.Search_Entry.Gtk_Search_Entry_Record
    269. Gtk.Selection_Filter_Model.Gtk_Selection_Filter_Model_Record
    270. Gtk.Separator.Gtk_Separator_Record
    271. Gtk.Settings.Gtk_Settings_Record
    272. Gtk.Shortcut.Gtk_Shortcut_Record
    273. Gtk.Shortcut_Action.Gtk_Shortcut_Action_Record
    274. Gtk.Shortcut_Controller.Gtk_Shortcut_Controller_Record
    275. Gtk.Shortcut_Trigger.Gtk_Shortcut_Trigger_Record
    276. Gtk.Signal_Action.Gtk_Signal_Action_Record
    277. Gtk.Signal_List_Item_Factory.Gtk_Signal_List_Item_Factory_Record
    278. Gtk.Single_Selection.Gtk_Single_Selection_Record
    279. Gtk.Size_Group.Gtk_Size_Group_Record
    280. Gtk.Slice_List_Model.Gtk_Slice_List_Model_Record
    281. Gtk.Snapshot.Gtk_Snapshot_Record
    282. Gtk.Sort_List_Model.Gtk_Sort_List_Model_Record
    283. Gtk.Sorter.Gtk_Sorter_Record
    284. Gtk.Spin_Button.Gtk_Spin_Button_Record
    285. Gtk.Spinner.Gtk_Spinner_Record
    286. Gtk.Stack.Gtk_Stack_Record
    287. Gtk.Stack_Page.Gtk_Stack_Page_Record
    288. Gtk.Stack_Sidebar.Gtk_Stack_Sidebar_Record
    289. Gtk.Stack_Switcher.Gtk_Stack_Switcher_Record
    290. Gtk.String_Filter.Gtk_String_Filter_Record
    291. Gtk.String_List.Gtk_String_List_Record
    292. Gtk.String_Object.Gtk_String_Object_Record
    293. Gtk.String_Sorter.Gtk_String_Sorter_Record
    294. Gtk.Style_Context.Gtk_Style_Context_Record
    295. Gtk.Switch.Gtk_Switch_Record
    296. Gtk.Text_Buffer.Gtk_Text_Buffer_Record
    297. Gtk.Text_Child_Anchor.Gtk_Text_Child_Anchor_Record
    298. Gtk.Text_Mark.Gtk_Text_Mark_Record
    299. Gtk.Text_Tag.Gtk_Text_Tag_Record
    300. Gtk.Text_Tag_Table.Gtk_Text_Tag_Table_Record
    301. Gtk.Text_View.Gtk_Text_View_Record
    302. Gtk.Toggle_Button.Gtk_Toggle_Button_Record
    303. Gtk.Tooltip.Gtk_Tooltip_Record
    304. Gtk.Tree_Expander.Gtk_Tree_Expander_Record
    305. Gtk.Tree_List_Model.Gtk_Tree_List_Model_Record
    306. Gtk.Tree_List_Row.Gtk_Tree_List_Row_Record
    307. Gtk.Tree_List_Row_Sorter.Gtk_Tree_List_Row_Sorter_Record
    308. Gtk.Tree_Model.Gtk_Root_Tree_Model_Record
    309. Gtk.Tree_Model.Gtk_Tree_Path
    310. Gtk.Tree_Model_Filter.Gtk_Tree_Model_Filter_Record
    311. Gtk.Tree_Model_Sort.Gtk_Tree_Model_Sort_Record
    312. Gtk.Tree_Row_Reference.Gtk_Tree_Row_Reference
    313. Gtk.Tree_Selection.Gtk_Tree_Selection_Record
    314. Gtk.Tree_Store.Gtk_Tree_Store_Record
    315. Gtk.Tree_View.Gtk_Tree_View_Record
    316. Gtk.Tree_View_Column.Gtk_Tree_View_Column_Record
    317. Gtk.Try_Expression.Gtk_Try_Expression_Record
    318. Gtk.Uri_Launcher.Gtk_Uri_Launcher_Record
    319. Gtk.Viewport.Gtk_Viewport_Record
    320. Gtk.Volume_Button.Gtk_Volume_Button_Record
    321. Gtk.Widget.Gtk_Widget_Record
    322. Gtk.Window.Gtk_Window_Group_Record
    323. Gtk.Window.Gtk_Window_Record
    324. Pango.Attributes.Pango_Attr_List
    325. Pango.Context.Pango_Context_Record
    326. Pango.Coverage.Pango_Coverage_Record
    327. Pango.Font.Pango_Font_Record
    328. Pango.Font_Face.Pango_Font_Face_Record
    329. Pango.Font_Family.Pango_Font_Family_Record
    330. Pango.Font_Map.Pango_Font_Map_Record
    331. Pango.Font_Metrics.Pango_Font_Metrics
    332. Pango.Fontset.Pango_Fontset_Record
    333. Pango.Language.Pango_Language
    334. Pango.Layout.Pango_Layout_Iter
    335. Pango.Layout.Pango_Layout_Record
    336. Pango.Tabs.Pango_Tab_Array

Gdk.Pixbuf

Description

A pixel buffer.

GdkPixbuf contains information about an image's pixel data, its color space, bits per sample, width and height, and the rowstride (the number of bytes between the start of one row and the start of the next).

## Creating new GdkPixbuf

The most basic way to create a pixbuf is to wrap an existing pixel buffer with a [classGdkpixbuf.Pixbuf] instance. You can use the [ctorGdkpixbuf.Pixbuf.new_from_data] function to do this.

Every time you create a new GdkPixbuf instance for some data, you will need to specify the destroy notification function that will be called when the data buffer needs to be freed; this will happen when a GdkPixbuf is finalized by the reference counting functions. If you have a chunk of static data compiled into your application, you can pass in NULL as the destroy notification function so that the data will not be freed.

The [ctorGdkpixbuf.Pixbuf.new] constructor function can be used as a convenience to create a pixbuf with an empty buffer; this is equivalent to allocating a data buffer using malloc and then wrapping it with gdk_pixbuf_new_from_data. The gdk_pixbuf_new function will compute an optimal rowstride so that rendering can be performed with an efficient algorithm.

You can also copy an existing pixbuf with the [methodPixbuf.copy] function. This is not the same as just acquiring a reference to the old pixbuf instance: the copy function will actually duplicate the pixel data in memory and create a new [classPixbuf] instance for it.

## Reference counting

GdkPixbuf structures are reference counted. This means that an application can share a single pixbuf among many parts of the code. When a piece of the program needs to use a pixbuf, it should acquire a reference to it by calling g_object_ref; when it no longer needs the pixbuf, it should release the reference it acquired by calling g_object_unref. The resources associated with a GdkPixbuf will be freed when its reference count drops to zero. Newly-created GdkPixbuf instances start with a reference count of one.

## Image Data

Image data in a pixbuf is stored in memory in an uncompressed, packed format. Rows in the image are stored top to bottom, and in each row pixels are stored from left to right.

There may be padding at the end of a row.

The "rowstride" value of a pixbuf, as returned by [methodGdkpixbuf.Pixbuf.get_rowstride], indicates the number of bytes between rows.

NOTE: If you are copying raw pixbuf data with memcpy note that the last row in the pixbuf may not be as wide as the full rowstride, but rather just as wide as the pixel data needs to be; that is: it is unsafe to do memcpy (dest, pixels, rowstride * height) to copy a whole pixbuf. Use [methodGdkpixbuf.Pixbuf.copy] instead, or compute the width in bytes of the last row as:

c last_row = width * ((n_channels * bits_per_sample + 7) / 8);

The same rule applies when iterating over each row of a GdkPixbuf pixels array.

The following code illustrates a simple put_pixel function for RGB pixbufs with 8 bits per channel with an alpha channel.

guchar green, guchar blue, guchar alpha) { int n_channels =
gdk_pixbuf_get_n_channels (pixbuf);

// Ensure that the pixbuf is valid g_assert (gdk_pixbuf_get_colorspace
(pixbuf) == GDK_COLORSPACE_RGB); g_assert (gdk_pixbuf_get_bits_per_sample
(pixbuf) == 8); g_assert (gdk_pixbuf_get_has_alpha (pixbuf)); g_assert
(n_channels == 4);

int width = gdk_pixbuf_get_width (pixbuf); int height =
gdk_pixbuf_get_height (pixbuf);

// Ensure that the coordinates are in a valid range g_assert (x >= 0 && x
< width); g_assert (y >= 0 && y < height);

int rowstride = gdk_pixbuf_get_rowstride (pixbuf);

// The pixel buffer in the GdkPixbuf instance guchar *pixels =
gdk_pixbuf_get_pixels (pixbuf);

// The pixel we wish to modify guchar *p = pixels + y * rowstride + x *
n_channels; p[0] = red; p[1] = green; p[2] = blue; p[3] = alpha; } ```

## Loading images

The `GdkPixBuf` class provides a simple mechanism for loading an image
from a file in synchronous and asynchronous fashion.

For GUI applications, it is recommended to use the asynchronous stream API
to avoid blocking the control flow of the application.

Additionally, `GdkPixbuf` provides the [classGdkpixbuf.PixbufLoader`] API
for progressive image loading.

## Saving images

The `GdkPixbuf` class provides methods for saving image data in a number
of file formats. The formatted data can be written to a file or to a memory
buffer. `GdkPixbuf` can also call a user-defined callback on the data,
which allows to e.g. write the image to a socket or store it in a database.

<group>GDK</group>
<gtkada_demo>create_pixbuf.adb</gtkada_demo>

"+"

function "+"
  (Widget : access Gdk_Pixbuf_Record'Class)
return Glib.Loadable_Icon.Gloadable_Icon
Parameters
Widget
Return Value

"-"

function "-"
  (Interf : Glib.Loadable_Icon.Gloadable_Icon)
return Gdk_Pixbuf
Parameters
Interf
Return Value

Add_Alpha

function Add_Alpha
   (Self             : not null access Gdk_Pixbuf_Record;
    Substitute_Color : Boolean;
    R                : Guchar;
    G                : Guchar;
    B                : Guchar) return Gdk_Pixbuf

Takes an existing pixbuf and adds an alpha channel to it. If the existing pixbuf already had an alpha channel, the channel values are copied from the original; otherwise, the alpha channel is initialized to 255 (full opacity). If substitute_color is TRUE, then the color specified by the (r, g, b) arguments will be assigned zero opacity. That is, if you pass (255, 255, 255) for the substitute color, all white pixels will become fully transparent. If substitute_color is FALSE, then the (r, g, b) arguments will be ignored.

Parameters
Self
Substitute_Color

Whether to set a color to zero opacity.

R

Red value to substitute.

G

Green value to substitute.

B

Blue value to substitute.

Return Value

A newly-created pixbuf. Has transfer-ownership='full'.

Apply_Embedded_Orientation

function Apply_Embedded_Orientation
   (Self : not null access Gdk_Pixbuf_Record) return Gdk_Pixbuf

Takes an existing pixbuf and checks for the presence of an associated "orientation" option. The orientation option may be provided by the JPEG loader (which reads the exif orientation tag) or the TIFF loader (which reads the TIFF orientation tag, and compensates it for the partial transforms performed by libtiff). If an orientation option/tag is present, the appropriate transform will be performed so that the pixbuf is oriented correctly. Since: gtk+ 2.12

Parameters
Self
Return Value

A newly-created pixbuf. Has transfer-ownership='full'.

Bits_Per_Sample_Property

Bits_Per_Sample_Property : constant Glib.Properties.Property_Int;

The number of bits per sample.

Currently only 8 bit per sample are supported.

Calculate_Rowstride

function Calculate_Rowstride
   (Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint) return Glib.Gint

Calculates the rowstride that an image created with those values would have. This function is useful for front-ends and backends that want to check image values without needing to create a GdkPixbuf. Since: gtk+ 2.36.8

Parameters
Colorspace

Color space for image

Has_Alpha

Whether the image should have transparency information

Bits_Per_Sample

Number of bits per color sample

Width

Width of image in pixels, must be > 0

Height

Height of image in pixels, must be > 0

Return Value

the rowstride for the given values, or -1 in case of error.

Colorspace_Property

Colorspace_Property : constant Property_Gdk_Colorspace :=
Build ("colorspace");

Composite

procedure Composite
   (Self          : not null access Gdk_Pixbuf_Record;
    Dest          : not null access Gdk_Pixbuf_Record'Class;
    Dest_X        : Glib.Gint;
    Dest_Y        : Glib.Gint;
    Dest_Width    : Glib.Gint;
    Dest_Height   : Glib.Gint;
    Offset_X      : Gdouble;
    Offset_Y      : Gdouble;
    Scale_X       : Gdouble;
    Scale_Y       : Gdouble;
    Interp_Type   : Gdk_Interp_Type;
    Overall_Alpha : Glib.Gint)

Creates a transformation of the source image Src by scaling by Scale_X and Scale_Y then translating by Offset_X and Offset_Y. This gives an image in the coordinates of the destination pixbuf. The rectangle (Dest_X, Dest_Y, Dest_Width, Dest_Height) is then alpha blended onto the corresponding rectangle of the original destination image. When the destination rectangle contains parts not in the source image, the data at the edges of the source image is replicated to infinity.

Parameters
Self
Dest

the Gdk.Pixbuf.Gdk_Pixbuf into which to render the results

Dest_X

the left coordinate for region to render

Dest_Y

the top coordinate for region to render

Dest_Width

the width of the region to render

Dest_Height

the height of the region to render

Offset_X

the offset in the X direction (currently rounded to an integer)

Offset_Y

the offset in the Y direction (currently rounded to an integer)

Scale_X

the scale factor in the X direction

Scale_Y

the scale factor in the Y direction

Interp_Type

the interpolation type for the transformation.

Overall_Alpha

overall alpha for source image (0..255)

Composite_Color

procedure Composite_Color
   (Self          : not null access Gdk_Pixbuf_Record;
    Dest          : not null access Gdk_Pixbuf_Record'Class;
    Dest_X        : Glib.Gint;
    Dest_Y        : Glib.Gint;
    Dest_Width    : Glib.Gint;
    Dest_Height   : Glib.Gint;
    Offset_X      : Gdouble;
    Offset_Y      : Gdouble;
    Scale_X       : Gdouble;
    Scale_Y       : Gdouble;
    Interp_Type   : Gdk_Interp_Type;
    Overall_Alpha : Glib.Gint;
    Check_X       : Glib.Gint;
    Check_Y       : Glib.Gint;
    Check_Size    : Glib.Gint;
    Color1        : Guint32;
    Color2        : Guint32)

Creates a transformation of the source image Src by scaling by Scale_X and Scale_Y then translating by Offset_X and Offset_Y, then alpha blends the rectangle (Dest_X ,Dest_Y, Dest_Width, Dest_Height) of the resulting image with a checkboard of the colors Color1 and Color2 and renders it onto the destination image. If the source image has no alpha channel, and Overall_Alpha is 255, a fast path is used which omits the alpha blending and just performs the scaling. See Gdk.Pixbuf.Composite_Color_Simple for a simpler variant of this function suitable for many tasks.

Parameters
Self
Dest

the Gdk.Pixbuf.Gdk_Pixbuf into which to render the results

Dest_X

the left coordinate for region to render

Dest_Y

the top coordinate for region to render

Dest_Width

the width of the region to render

Dest_Height

the height of the region to render

Offset_X

the offset in the X direction (currently rounded to an integer)

Offset_Y

the offset in the Y direction (currently rounded to an integer)

Scale_X

the scale factor in the X direction

Scale_Y

the scale factor in the Y direction

Interp_Type

the interpolation type for the transformation.

Overall_Alpha

overall alpha for source image (0..255)

Check_X

the X offset for the checkboard (origin of checkboard is at -Check_X, -Check_Y)

Check_Y

the Y offset for the checkboard

Check_Size

the size of checks in the checkboard (must be a power of two)

Color1

the color of check at upper left

Color2

the color of the other check

Composite_Color_Simple

function Composite_Color_Simple
   (Self          : not null access Gdk_Pixbuf_Record;
    Dest_Width    : Glib.Gint;
    Dest_Height   : Glib.Gint;
    Interp_Type   : Gdk_Interp_Type;
    Overall_Alpha : Glib.Gint;
    Check_Size    : Glib.Gint;
    Color1        : Guint32;
    Color2        : Guint32) return Gdk_Pixbuf

Creates a new pixbuf by scaling src to dest_width x dest_height and alpha blending the result with a checkboard of colors color1 and color2.

Parameters
Self
Dest_Width

the width of destination image

Dest_Height

the height of destination image

Interp_Type

the interpolation type for the transformation.

Overall_Alpha

overall alpha for source image (0..255)

Check_Size

the size of checks in the checkboard (must be a power of two)

Color1

the color of check at upper left

Color2

the color of the other check

Return Value

the new pixbuf. Has transfer-ownership='full'.

Copy

function Copy
   (Self : not null access Gdk_Pixbuf_Record) return Gdk_Pixbuf

Creates a new GdkPixbuf with a copy of the information in the specified pixbuf. Note that this does not copy the options set on the original GdkPixbuf, use Gdk.Pixbuf.Copy_Options for this.

Parameters
Self
Return Value

A newly-created pixbuf. Has transfer-ownership='full'.

Copy_Area

procedure Copy_Area
   (Self        : not null access Gdk_Pixbuf_Record;
    Src_X       : Glib.Gint;
    Src_Y       : Glib.Gint;
    Width       : Glib.Gint;
    Height      : Glib.Gint;
    Dest_Pixbuf : not null access Gdk_Pixbuf_Record'Class;
    Dest_X      : Glib.Gint;
    Dest_Y      : Glib.Gint)

Copies a rectangular area from src_pixbuf to dest_pixbuf. Conversion of pixbuf formats is done automatically. If the source rectangle overlaps the destination rectangle on the same pixbuf, it will be overwritten during the copy operation. Therefore, you can not use this function to scroll a pixbuf.

Parameters
Self
Src_X

Source X coordinate within Src_Pixbuf.

Src_Y

Source Y coordinate within Src_Pixbuf.

Width

Width of the area to copy.

Height

Height of the area to copy.

Dest_Pixbuf

Destination pixbuf.

Dest_X

X coordinate within Dest_Pixbuf.

Dest_Y

Y coordinate within Dest_Pixbuf.

Copy_Options

function Copy_Options
   (Self        : not null access Gdk_Pixbuf_Record;
    Dest_Pixbuf : not null access Gdk_Pixbuf_Record'Class) return Boolean

Copies the key/value pair options attached to a GdkPixbuf to another GdkPixbuf. This is useful to keep original metadata after having manipulated a file. However be careful to remove metadata which you've already applied, such as the "orientation" option after rotating the image. Since: gtk+ 2.36

Parameters
Self
Dest_Pixbuf

the destination pixbuf

Return Value

TRUE on success.

Fill

procedure Fill
   (Self  : not null access Gdk_Pixbuf_Record;
    Pixel : Guint32)

Clears a pixbuf to the given RGBA value, converting the RGBA value into the pixbuf's pixel format. The alpha component will be ignored if the pixbuf doesn't have an alpha channel.

Parameters
Self
Pixel

RGBA pixel to used to clear (0xffffffff is opaque white, 0x00000000 transparent black)

Flip

function Flip
   (Self       : not null access Gdk_Pixbuf_Record;
    Horizontal : Boolean) return Gdk_Pixbuf

Flips a pixbuf horizontally or vertically and returns the result in a new pixbuf. Since: gtk+ 2.6

Parameters
Self
Horizontal

TRUE to flip horizontally, FALSE to flip vertically

Return Value

the new pixbuf. Has transfer-ownership='full'.

Gasync_Ready_Callback

type Gasync_Ready_Callback is access procedure
  (Source_Object : access Glib.Object.GObject_Record'Class;
   Res           : Glib.G_Async_Result);

Type definition for a function that will be called back when an asynchronous operation within GIO has been completed. Gasync_Ready_Callback callbacks from Gtask.Gtask are guaranteed to be invoked in a later iteration of the thread-default main context (see [methodGlib.MainContext.push_thread_default]) where the Gtask.Gtask was created. All other users of Gasync_Ready_Callback must likewise call it asynchronously in a later iteration of the main context. The asynchronous operation is guaranteed to have held a reference to Source_Object from the time when the *_async function was called, until after this callback returns.

Parameters
Source_Object

the object the asynchronous operation was started with.

Res

a Glib.G_Async_Result.

Gdk_Colorspace

type Gdk_Colorspace is (
   Gdk_Colorspace_Rgb);

This enumeration defines the color spaces that are supported by the gdk-pixbuf library.

Currently only RGB is supported.

Enumeration Literal
Gdk_Colorspace_Rgb

Gdk_Colorspace_Properties

package Gdk_Colorspace_Properties is
   new Generic_Internal_Discrete_Property (Gdk_Colorspace);

Gdk_Interp_Type

type Gdk_Interp_Type is (
   Gdk_Interp_Nearest,
   Gdk_Interp_Tiles,
   Gdk_Interp_Bilinear,
   Gdk_Interp_Hyper);

Interpolation modes for scaling functions.

The GDK_INTERP_NEAREST mode is the fastest scaling method, but has horrible quality when scaling down; GDK_INTERP_BILINEAR is the best choice if you aren't sure what to choose, it has a good speed/quality balance.

Note: Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality.

Enumeration Literal
Gdk_Interp_Nearest
Gdk_Interp_Tiles
Gdk_Interp_Bilinear
Gdk_Interp_Hyper

Gdk_Interp_Type_Properties

package Gdk_Interp_Type_Properties is
   new Generic_Internal_Discrete_Property (Gdk_Interp_Type);

Gdk_New

procedure Gdk_New
   (Self            : out Gdk_Pixbuf;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint)

Creates a new GdkPixbuf structure and allocates a buffer for it. If the allocation of the buffer failed, this function will return NULL. The buffer has an optimal rowstride. Note that the buffer is not cleared; you will have to fill it completely yourself.

Parameters
Self
Colorspace

Color space for image

Has_Alpha

Whether the image should have transparency information

Bits_Per_Sample

Number of bits per color sample

Width

Width of image in pixels, must be > 0

Height

Height of image in pixels, must be > 0

Gdk_New_From_Bytes

procedure Gdk_New_From_Bytes
   (Self            : out Gdk_Pixbuf;
    Data            : Glib.Bytes.Gbytes;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint)

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory readonly image data. Currently only RGB images with 8 bits per sample are supported. This is the GBytes variant of Gdk.Pixbuf.Gdk_New_From_Data, useful for language bindings. Since: gtk+ 2.32

Parameters
Self
Data

Image data in 8-bit/sample packed format inside a Glib.Bytes.Gbytes

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Gdk_New_From_Data

procedure Gdk_New_From_Data
   (Self            : out Gdk_Pixbuf;
    Data            : System.Address;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint;
    Destroy_Fn      : Gdk_Pixbuf_Destroy_Notify := null;
    Destroy_Fn_Data : System.Address := System.Null_Address)

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory image data. Currently only RGB images with 8 bits per sample are supported. Since you are providing a pre-allocated pixel buffer, you must also specify a way to free that data. This is done with a function of type GdkPixbufDestroyNotify. When a pixbuf created with is finalized, your destroy notification function will be called, and it is its responsibility to free the pixel array. See also: [ctorGdkpixbuf.Pixbuf.new_from_bytes] Data is retained, not copied. Keep it alive until the last pixbuf reference is released. Destroy_Fn uses the C calling convention and receives Data and Destroy_Fn_Data.

Parameters
Self
Data

Image data in 8-bit/sample packed format

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Destroy_Fn

Function used to free the data when the pixbuf's reference count drops to zero, or NULL if the data should not be freed

Destroy_Fn_Data

Closure data to pass to the destroy notification function

Gdk_New_From_File

procedure Gdk_New_From_File
   (Self     : out Gdk_Pixbuf;
    Filename : UTF8_String;
    Error    : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR.

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Error

the return location for a recoverable error

Gdk_New_From_File_At_Scale

procedure Gdk_New_From_File_At_Scale
   (Self                  : out Gdk_Pixbuf;
    Filename              : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. Negative values for width and height are allowed since 2.8. Since: gtk+ 2.6

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Gdk_New_From_File_At_Size

procedure Gdk_New_From_File_At_Size
   (Self     : out Gdk_Pixbuf;
    Filename : UTF8_String;
    Width    : Glib.Gint;
    Height   : Glib.Gint;
    Error    : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, preserving the image's aspect ratio. Note that the returned pixbuf may be smaller than width x height, if the aspect ratio requires it. To load and image at the requested size, regardless of aspect ratio, use [ctorGdkpixbuf.Pixbuf.new_from_file_at_scale]. Since: gtk+ 2.4

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Error

the return location for a recoverable error

Gdk_New_From_Inline

procedure Gdk_New_From_Inline
   (Self        : out Gdk_Pixbuf;
    Data_Length : Glib.Gint;
    Data        : Guint8_Array;
    Error       : out Glib.Error.GError)

Creates a GdkPixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to ship a program with images, but don't want to depend on any external files. GdkPixbuf ships with a program called gdk-pixbuf-csource, which allows for conversion of GdkPixbufs into such a inline representation. In almost all cases, you should pass the --raw option to gdk-pixbuf-csource. A sample invocation would be: gdk-pixbuf-csource --raw --name=myimage_inline myimage.png For the typical case where the inline pixbuf is read-only static data, you don't need to copy the pixel data unless you intend to write to it, so you can pass FALSE for copy_pixels. If you pass --rle to gdk-pixbuf-csource, a copy will be made even if copy_pixels is FALSE, so using this option is generally a bad idea. If you create a pixbuf from const inline data compiled into your program, it's probably safe to ignore errors and disable length checks, since things will always succeed:

NULL); ```
For non-const inline data, you could get out of memory. For untrusted
inline data located at runtime, you could have corrupt inline data in
addition.
Parameters
Self
Data_Length

Length in bytes of the data argument or -1 to disable length checks

Data

Byte data containing a serialized GdkPixdata structure

Error

the return location for a recoverable error

Gdk_New_From_Resource

procedure Gdk_New_From_Resource
   (Self          : out Gdk_Pixbuf;
    Resource_Path : UTF8_String;
    Error         : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. Since: gtk+ 2.26

Parameters
Self
Resource_Path

the path of the resource file

Error

the return location for a recoverable error

Gdk_New_From_Resource_At_Scale

procedure Gdk_New_From_Resource_At_Scale
   (Self                  : out Gdk_Pixbuf;
    Resource_Path         : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a Width of -1 will cause the image to be scaled to the exact given height, and a Height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a Width or Height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.26

Parameters
Self
Resource_Path

the path of the resource file

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Gdk_New_From_Stream

procedure Gdk_New_From_Stream
   (Self        : out Gdk_Pixbuf;
    Stream      : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Error       : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then error will be set. The cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The stream is not closed. Since: gtk+ 2.14

Parameters
Self
Stream

a GInputStream to load the pixbuf from

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Gdk_New_From_Stream_At_Scale

procedure Gdk_New_From_Stream_At_Scale
   (Self                  : out Gdk_Pixbuf;
    Stream                : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Cancellable           : access Glib.Cancellable.Gcancellable_Record'Class;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then Error will be set. The Cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. If both width and height are given, this function will behave as if the smaller of the two values is passed as -1. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.14

Parameters
Self
Stream

a GInputStream to load the pixbuf from

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Gdk_New_From_Stream_Finish

procedure Gdk_New_From_Stream_Finish
   (Self         : out Gdk_Pixbuf;
    Async_Result : Glib.G_Async_Result;
    Error        : out Glib.Error.GError)

Finishes an asynchronous pixbuf creation operation started with Gdk.Pixbuf.New_From_Stream_Async. Since: gtk+ 2.24

Parameters
Self
Async_Result

a GAsyncResult

Error

the return location for a recoverable error

Gdk_New_From_Xpm_Data

procedure Gdk_New_From_Xpm_Data
   (Self : out Gdk_Pixbuf;
    Data : GNAT.Strings.String_List)

Creates a new pixbuf by parsing XPM data in memory. This data is commonly the result of including an XPM file into a program's C source.

Parameters
Self
Data

Pointer to inline XPM data.

Gdk_Pixbuf

type Gdk_Pixbuf is access all Gdk_Pixbuf_Record'Class;

Gdk_Pixbuf_Destroy_Notify

type Gdk_Pixbuf_Destroy_Notify is access procedure
  (Pixels : System.Address; Data : System.Address);

Data must remain valid until the callback runs at the last unref. Without a callback, the caller must keep the pixel buffer alive until the pixbuf releases it, then free it.

Parameters
Pixels
Data

Gdk_Pixbuf_Error

type Gdk_Pixbuf_Error is (
   Gdk_Pixbuf_Error_Corrupt_Image,
   Gdk_Pixbuf_Error_Insufficient_Memory,
   Gdk_Pixbuf_Error_Bad_Option,
   Gdk_Pixbuf_Error_Unknown_Type,
   Gdk_Pixbuf_Error_Unsupported_Operation,
   Gdk_Pixbuf_Error_Failed,
   Gdk_Pixbuf_Error_Incomplete_Animation);

An error code in the GDK_PIXBUF_ERROR domain.

Many gdk-pixbuf operations can cause errors in this domain, or in the G_FILE_ERROR domain.

Enumeration Literal
Gdk_Pixbuf_Error_Corrupt_Image
Gdk_Pixbuf_Error_Insufficient_Memory
Gdk_Pixbuf_Error_Bad_Option
Gdk_Pixbuf_Error_Unknown_Type
Gdk_Pixbuf_Error_Unsupported_Operation
Gdk_Pixbuf_Error_Failed
Gdk_Pixbuf_Error_Incomplete_Animation

Gdk_Pixbuf_Error_Domain

Gdk_Pixbuf_Error_Domain : constant GQuark := Quark_From_String (Gdk_Pixbuf_Error_Name);

Used to identify error domain in a GError

Gdk_Pixbuf_Error_Matches

function Gdk_Pixbuf_Error_Matches
  (Error : GError; Code : Gdk_Pixbuf_Error) return Boolean

Convenience helper to match error codes

Parameters
Error
Code
Return Value

Gdk_Pixbuf_Error_Name

Gdk_Pixbuf_Error_Name   : constant UTF8_String := "gdk-pixbuf-error-quark";

Used to identify error domain in a GError

Gdk_Pixbuf_Error_Properties

package Gdk_Pixbuf_Error_Properties is
   new Generic_Internal_Discrete_Property (Gdk_Pixbuf_Error);

Gdk_Pixbuf_New

function Gdk_Pixbuf_New
   (Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint) return Gdk_Pixbuf

Creates a new GdkPixbuf structure and allocates a buffer for it. If the allocation of the buffer failed, this function will return NULL. The buffer has an optimal rowstride. Note that the buffer is not cleared; you will have to fill it completely yourself.

Parameters
Colorspace

Color space for image

Has_Alpha

Whether the image should have transparency information

Bits_Per_Sample

Number of bits per color sample

Width

Width of image in pixels, must be > 0

Height

Height of image in pixels, must be > 0

Return Value

Gdk_Pixbuf_New_From_Bytes

function Gdk_Pixbuf_New_From_Bytes
   (Data            : Glib.Bytes.Gbytes;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint) return Gdk_Pixbuf

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory readonly image data. Currently only RGB images with 8 bits per sample are supported. This is the GBytes variant of Gdk.Pixbuf.Gdk_New_From_Data, useful for language bindings. Since: gtk+ 2.32

Parameters
Data

Image data in 8-bit/sample packed format inside a Glib.Bytes.Gbytes

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Return Value

Gdk_Pixbuf_New_From_Data

function Gdk_Pixbuf_New_From_Data
   (Data            : System.Address;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint;
    Destroy_Fn      : Gdk_Pixbuf_Destroy_Notify := null;
    Destroy_Fn_Data : System.Address := System.Null_Address)
    return Gdk_Pixbuf

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory image data. Currently only RGB images with 8 bits per sample are supported. Since you are providing a pre-allocated pixel buffer, you must also specify a way to free that data. This is done with a function of type GdkPixbufDestroyNotify. When a pixbuf created with is finalized, your destroy notification function will be called, and it is its responsibility to free the pixel array. See also: [ctorGdkpixbuf.Pixbuf.new_from_bytes] Data is retained, not copied. Keep it alive until the last pixbuf reference is released. Destroy_Fn uses the C calling convention and receives Data and Destroy_Fn_Data.

Parameters
Data

Image data in 8-bit/sample packed format

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Destroy_Fn

Function used to free the data when the pixbuf's reference count drops to zero, or NULL if the data should not be freed

Destroy_Fn_Data

Closure data to pass to the destroy notification function

Return Value

Gdk_Pixbuf_New_From_File

function Gdk_Pixbuf_New_From_File
   (Filename : UTF8_String;
    Error    : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR.

Parameters
Filename

Name of file to load, in the GLib file name encoding

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_File_At_Scale

function Gdk_Pixbuf_New_From_File_At_Scale
   (Filename              : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. Negative values for width and height are allowed since 2.8. Since: gtk+ 2.6

Parameters
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_File_At_Size

function Gdk_Pixbuf_New_From_File_At_Size
   (Filename : UTF8_String;
    Width    : Glib.Gint;
    Height   : Glib.Gint;
    Error    : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, preserving the image's aspect ratio. Note that the returned pixbuf may be smaller than width x height, if the aspect ratio requires it. To load and image at the requested size, regardless of aspect ratio, use [ctorGdkpixbuf.Pixbuf.new_from_file_at_scale]. Since: gtk+ 2.4

Parameters
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Inline

function Gdk_Pixbuf_New_From_Inline
   (Data_Length : Glib.Gint;
    Data        : Guint8_Array;
    Error       : out Glib.Error.GError) return Gdk_Pixbuf

Creates a GdkPixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to ship a program with images, but don't want to depend on any external files. GdkPixbuf ships with a program called gdk-pixbuf-csource, which allows for conversion of GdkPixbufs into such a inline representation. In almost all cases, you should pass the --raw option to gdk-pixbuf-csource. A sample invocation would be: gdk-pixbuf-csource --raw --name=myimage_inline myimage.png For the typical case where the inline pixbuf is read-only static data, you don't need to copy the pixel data unless you intend to write to it, so you can pass FALSE for copy_pixels. If you pass --rle to gdk-pixbuf-csource, a copy will be made even if copy_pixels is FALSE, so using this option is generally a bad idea. If you create a pixbuf from const inline data compiled into your program, it's probably safe to ignore errors and disable length checks, since things will always succeed:

NULL); ```
For non-const inline data, you could get out of memory. For untrusted
inline data located at runtime, you could have corrupt inline data in
addition.
Parameters
Data_Length

Length in bytes of the data argument or -1 to disable length checks

Data

Byte data containing a serialized GdkPixdata structure

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Resource

function Gdk_Pixbuf_New_From_Resource
   (Resource_Path : UTF8_String;
    Error         : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. Since: gtk+ 2.26

Parameters
Resource_Path

the path of the resource file

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Resource_At_Scale

function Gdk_Pixbuf_New_From_Resource_At_Scale
   (Resource_Path         : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a Width of -1 will cause the image to be scaled to the exact given height, and a Height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a Width or Height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.26

Parameters
Resource_Path

the path of the resource file

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Stream

function Gdk_Pixbuf_New_From_Stream
   (Stream      : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Error       : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then error will be set. The cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The stream is not closed. Since: gtk+ 2.14

Parameters
Stream

a GInputStream to load the pixbuf from

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Stream_At_Scale

function Gdk_Pixbuf_New_From_Stream_At_Scale
   (Stream                : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Cancellable           : access Glib.Cancellable.Gcancellable_Record'Class;
    Error                 : out Glib.Error.GError) return Gdk_Pixbuf

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then Error will be set. The Cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. If both width and height are given, this function will behave as if the smaller of the two values is passed as -1. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.14

Parameters
Stream

a GInputStream to load the pixbuf from

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Stream_Finish

function Gdk_Pixbuf_New_From_Stream_Finish
   (Async_Result : Glib.G_Async_Result;
    Error        : out Glib.Error.GError) return Gdk_Pixbuf

Finishes an asynchronous pixbuf creation operation started with Gdk.Pixbuf.New_From_Stream_Async. Since: gtk+ 2.24

Parameters
Async_Result

a GAsyncResult

Error

the return location for a recoverable error

Return Value

Gdk_Pixbuf_New_From_Xpm_Data

function Gdk_Pixbuf_New_From_Xpm_Data
   (Data : GNAT.Strings.String_List) return Gdk_Pixbuf

Creates a new pixbuf by parsing XPM data in memory. This data is commonly the result of including an XPM file into a program's C source.

Parameters
Data

Pointer to inline XPM data.

Return Value

Gdk_Pixbuf_Record

type Gdk_Pixbuf_Record is new GObject_Record with null record;

Gdk_Pixbuf_Rotation

type Gdk_Pixbuf_Rotation is (
   Gdk_Pixbuf_Rotate_None,
   Gdk_Pixbuf_Rotate_Counterclockwise,
   Gdk_Pixbuf_Rotate_Upsidedown,
   Gdk_Pixbuf_Rotate_Clockwise);

The possible rotations which can be passed to Gdk.Pixbuf.Rotate_Simple.

To make them easier to use, their numerical values are the actual degrees.

Enumeration Literal
Gdk_Pixbuf_Rotate_None
Gdk_Pixbuf_Rotate_Counterclockwise
Gdk_Pixbuf_Rotate_Upsidedown
Gdk_Pixbuf_Rotate_Clockwise

Gdk_Pixbuf_Rotation_Properties

package Gdk_Pixbuf_Rotation_Properties is
   new Generic_Internal_Discrete_Property (Gdk_Pixbuf_Rotation);

Get_Bits_Per_Sample

function Get_Bits_Per_Sample
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Gint

Queries the number of bits per color sample in a pixbuf.

Parameters
Self
Return Value

Number of bits per color sample.

Get_Byte_Length

function Get_Byte_Length
   (Self : not null access Gdk_Pixbuf_Record) return Gsize

Returns the length of the pixel data, in bytes. Since: gtk+ 2.26

Parameters
Self
Return Value

The length of the pixel data.

Get_Colorspace

function Get_Colorspace
   (Self : not null access Gdk_Pixbuf_Record) return Gdk_Colorspace

Queries the color space of a pixbuf.

Parameters
Self
Return Value

Color space.

Get_File_Info

function Get_File_Info
   (Filename : UTF8_String;
    Width    : access Glib.Gint := null;
    Height   : access Glib.Gint := null)
    return Gdk.Pixbuf_Format.Gdk_Pixbuf_Format_Access

Parses an image file far enough to determine its format and size. Since: gtk+ 2.4

Parameters
Filename

The name of the file to identify.

Width

Return location for the width of the image

Height

Return location for the height of the image

Return Value

A GdkPixbufFormat describing the image format of the file

Get_File_Info_Async

procedure Get_File_Info_Async
   (Filename    : UTF8_String;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Callback    : Gasync_Ready_Callback)

Asynchronously parses an image file far enough to determine its format and size. For more details see Gdk.Pixbuf.Get_File_Info, which is the synchronous version of this function. When the operation is finished, Callback will be called in the main thread. You can then call Gdk.Pixbuf.Get_File_Info_Finish to get the result of the operation. Since: gtk+ 2.32

Parameters
Filename

The name of the file to identify

Cancellable

optional GCancellable object, NULL to ignore

Callback

a GAsyncReadyCallback to call when the file info is available

Get_File_Info_Finish

function Get_File_Info_Finish
   (Async_Result : Glib.G_Async_Result;
    Width        : out Glib.Gint;
    Height       : out Glib.Gint;
    Error        : out Glib.Error.GError)
    return Gdk.Pixbuf_Format.Gdk_Pixbuf_Format_Access

Finishes an asynchronous pixbuf parsing operation started with Gdk.Pixbuf.Get_File_Info_Async. Since: gtk+ 2.32

Parameters
Async_Result

a GAsyncResult

Width

Return location for the width of the image, or NULL

Height

Return location for the height of the image, or NULL

Error

the return location for a recoverable error

Return Value

A GdkPixbufFormat describing the image format of the file

Get_Formats

function Get_Formats return Gdk.Pixbuf_Format.Format_List.GSlist

Obtains the available information about the image formats supported by GdkPixbuf. Since: gtk+ 2.2

Return Value

A list of support image formats.

Get_Has_Alpha

function Get_Has_Alpha
   (Self : not null access Gdk_Pixbuf_Record) return Boolean

Queries whether a pixbuf has an alpha channel (opacity information).

Parameters
Self
Return Value

TRUE if it has an alpha channel, FALSE otherwise.

Get_Height

function Get_Height
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Gint

Queries the height of a pixbuf.

Parameters
Self
Return Value

Height in pixels.

Get_N_Channels

function Get_N_Channels
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Gint

Queries the number of channels of a pixbuf.

Parameters
Self
Return Value

Number of channels.

Get_Option

function Get_Option
   (Self : not null access Gdk_Pixbuf_Record;
    Key  : UTF8_String) return UTF8_String

Looks up Key in the list of options that may have been attached to the Pixbuf when it was loaded, or that may have been attached by another function using Gdk.Pixbuf.Set_Option. For instance, the ANI loader provides "Title" and "Artist" options. The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot options for cursor definitions. The PNG loader provides the tEXt ancillary chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders return an "orientation" option string that corresponds to the embedded TIFF/Exif orientation tag (if present). Since 2.32, the TIFF loader sets the "multipage" option string to "yes" when a multi-page TIFF is loaded. Since 2.32 the JPEG and PNG loaders set "x-dpi" and "y-dpi" if the file contains image density information in dots per inch. Since 2.36.6, the JPEG loader sets the "comment" option with the comment EXIF tag.

Parameters
Self
Key

a nul-terminated string.

Return Value

the value associated with key

Get_Options

function Get_Options
   (Self : not null access Gdk_Pixbuf_Record) return System.Address

Returns a GHashTable with a list of all the options that may have been attached to the pixbuf when it was loaded, or that may have been attached by another function using [methodGdkpixbuf.Pixbuf.set_option]. Since: gtk+ 2.32

Parameters
Self
Return Value

a GHash_Table of key/values pairs

Get_Pixels

function Get_Pixels
   (Self : not null access Gdk_Pixbuf_Record) return System.Address

Queries a pointer to the pixel data of a pixbuf. This function will cause an implicit copy of the pixbuf data if the pixbuf was created from read-only data. Please see the section on image data for information about how the pixel data is stored in memory. Returns a borrowed pixel buffer. Its size is Get_Byte_Length; use Get_Rowstride to locate each row. Keep the pixbuf alive while accessing the buffer.

Parameters
Self
Return Value

A pointer to the pixbuf's pixel data.

Get_Pixels_With_Length

function Get_Pixels_With_Length
   (Self   : not null access Gdk_Pixbuf_Record;
    Length : out Guint) return System.Address

Queries a pointer to the pixel data of a pixbuf. This function will cause an implicit copy of the pixbuf data if the pixbuf was created from read-only data. Please see the section on image data for information about how the pixel data is stored in memory. Since: gtk+ 2.26

Parameters
Self
Length

The length of the binary data.

Return Value

A pointer to the pixbuf's pixel data.

Get_Rowstride

function Get_Rowstride
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Gint

Queries the rowstride of a pixbuf, which is the number of bytes between the start of a row and the start of the next row.

Parameters
Self
Return Value

Distance between row starts.

Get_Type

function Get_Type return Glib.GType
Return Value

Get_Width

function Get_Width
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Gint

Queries the width of a pixbuf.

Parameters
Self
Return Value

Width in pixels.

Has_Alpha_Property

Has_Alpha_Property : constant Glib.Properties.Property_Boolean;

Whether the pixbuf has an alpha channel.

Height_Property

Height_Property : constant Glib.Properties.Property_Int;

The number of rows of the pixbuf.

Implements_Gloadable_Icon

package Implements_Gloadable_Icon is new Glib.Types.Implements
  (Glib.Loadable_Icon.Gloadable_Icon, Gdk_Pixbuf_Record, Gdk_Pixbuf);

Init_Modules

function Init_Modules
   (Path  : UTF8_String;
    Error : out Glib.Error.GError) return Boolean

Initalizes the gdk-pixbuf loader modules referenced by the loaders.cache file present inside that directory. This is to be used by applications that want to ship certain loaders in a different location from the system ones. This is needed when the OS or runtime ships a minimal number of loaders so as to reduce the potential attack surface of carefully crafted image files, especially for uncommon file types. Applications that require broader image file types coverage, such as image viewers, would be expected to ship the gdk-pixbuf modules in a separate location, bundled with the application in a separate directory from the OS or runtime- provided modules. Since: gtk+ 2.40

Parameters
Path

Path to directory where the loaders.cache is installed

Error

the return location for a recoverable error

Return Value

Initialize

procedure Initialize
   (Self            : not null access Gdk_Pixbuf_Record'Class;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint)

Creates a new GdkPixbuf structure and allocates a buffer for it. If the allocation of the buffer failed, this function will return NULL. The buffer has an optimal rowstride. Note that the buffer is not cleared; you will have to fill it completely yourself. Initialize does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Colorspace

Color space for image

Has_Alpha

Whether the image should have transparency information

Bits_Per_Sample

Number of bits per color sample

Width

Width of image in pixels, must be > 0

Height

Height of image in pixels, must be > 0

Initialize_From_Bytes

procedure Initialize_From_Bytes
   (Self            : not null access Gdk_Pixbuf_Record'Class;
    Data            : Glib.Bytes.Gbytes;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint)

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory readonly image data. Currently only RGB images with 8 bits per sample are supported. This is the GBytes variant of Gdk.Pixbuf.Gdk_New_From_Data, useful for language bindings. Since: gtk+ 2.32 Initialize_From_Bytes does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Data

Image data in 8-bit/sample packed format inside a Glib.Bytes.Gbytes

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Initialize_From_Data

procedure Initialize_From_Data
   (Self            : not null access Gdk_Pixbuf_Record'Class;
    Data            : System.Address;
    Colorspace      : Gdk_Colorspace;
    Has_Alpha       : Boolean;
    Bits_Per_Sample : Glib.Gint;
    Width           : Glib.Gint;
    Height          : Glib.Gint;
    Rowstride       : Glib.Gint;
    Destroy_Fn      : Gdk_Pixbuf_Destroy_Notify := null;
    Destroy_Fn_Data : System.Address := System.Null_Address)

Creates a new Gdk.Pixbuf.Gdk_Pixbuf out of in-memory image data. Currently only RGB images with 8 bits per sample are supported. Since you are providing a pre-allocated pixel buffer, you must also specify a way to free that data. This is done with a function of type GdkPixbufDestroyNotify. When a pixbuf created with is finalized, your destroy notification function will be called, and it is its responsibility to free the pixel array. See also: [ctorGdkpixbuf.Pixbuf.new_from_bytes] Data is retained, not copied. Keep it alive until the last pixbuf reference is released. Destroy_Fn uses the C calling convention and receives Data and Destroy_Fn_Data. Initialize_From_Data does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Data

Image data in 8-bit/sample packed format

Colorspace

Colorspace for the image data

Has_Alpha

Whether the data has an opacity channel

Bits_Per_Sample

Number of bits per sample

Width

Width of the image in pixels, must be > 0

Height

Height of the image in pixels, must be > 0

Rowstride

Distance in bytes between row starts

Destroy_Fn

Function used to free the data when the pixbuf's reference count drops to zero, or NULL if the data should not be freed

Destroy_Fn_Data

Closure data to pass to the destroy notification function

Initialize_From_File

procedure Initialize_From_File
   (Self     : not null access Gdk_Pixbuf_Record'Class;
    Filename : UTF8_String;
    Error    : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. Initialize_From_File does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Error

the return location for a recoverable error

Initialize_From_File_At_Scale

procedure Initialize_From_File_At_Scale
   (Self                  : not null access Gdk_Pixbuf_Record'Class;
    Filename              : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. Negative values for width and height are allowed since 2.8. Since: gtk+ 2.6 Initialize_From_File_At_Scale does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Initialize_From_File_At_Size

procedure Initialize_From_File_At_Size
   (Self     : not null access Gdk_Pixbuf_Record'Class;
    Filename : UTF8_String;
    Width    : Glib.Gint;
    Height   : Glib.Gint;
    Error    : out Glib.Error.GError)

Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then Error will be set. Possible errors are:

format - there is not enough memory to allocate the image buffer - the image buffer contains invalid data The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR. The image will be scaled to fit in the requested size, preserving the image's aspect ratio. Note that the returned pixbuf may be smaller than width x height, if the aspect ratio requires it. To load and image at the requested size, regardless of aspect ratio, use [ctorGdkpixbuf.Pixbuf.new_from_file_at_scale]. Since: gtk+ 2.4 Initialize_From_File_At_Size does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Filename

Name of file to load, in the GLib file name encoding

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Error

the return location for a recoverable error

Initialize_From_Inline

procedure Initialize_From_Inline
   (Self        : not null access Gdk_Pixbuf_Record'Class;
    Data_Length : Glib.Gint;
    Data        : Guint8_Array;
    Error       : out Glib.Error.GError)

Creates a GdkPixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to ship a program with images, but don't want to depend on any external files. GdkPixbuf ships with a program called gdk-pixbuf-csource, which allows for conversion of GdkPixbufs into such a inline representation. In almost all cases, you should pass the --raw option to gdk-pixbuf-csource. A sample invocation would be: gdk-pixbuf-csource --raw --name=myimage_inline myimage.png For the typical case where the inline pixbuf is read-only static data, you don't need to copy the pixel data unless you intend to write to it, so you can pass FALSE for copy_pixels. If you pass --rle to gdk-pixbuf-csource, a copy will be made even if copy_pixels is FALSE, so using this option is generally a bad idea. If you create a pixbuf from const inline data compiled into your program, it's probably safe to ignore errors and disable length checks, since things will always succeed:

NULL); ```
For non-const inline data, you could get out of memory. For untrusted
inline data located at runtime, you could have corrupt inline data in
addition.
Initialize_From_Inline does nothing if the object was already created
with another call to Initialize* or G_New.
Parameters
Self
Data_Length

Length in bytes of the data argument or -1 to disable length checks

Data

Byte data containing a serialized GdkPixdata structure

Error

the return location for a recoverable error

Initialize_From_Resource

procedure Initialize_From_Resource
   (Self          : not null access Gdk_Pixbuf_Record'Class;
    Resource_Path : UTF8_String;
    Error         : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. Since: gtk+ 2.26 Initialize_From_Resource does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Resource_Path

the path of the resource file

Error

the return location for a recoverable error

Initialize_From_Resource_At_Scale

procedure Initialize_From_Resource_At_Scale
   (Self                  : not null access Gdk_Pixbuf_Record'Class;
    Resource_Path         : UTF8_String;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an resource. The file format is detected automatically. If NULL is returned, then Error will be set. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a Width of -1 will cause the image to be scaled to the exact given height, and a Height of -1 will cause the image to be scaled to the exact given width. When not preserving aspect ratio, a Width or Height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.26 Initialize_From_Resource_At_Scale does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Resource_Path

the path of the resource file

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Error

the return location for a recoverable error

Initialize_From_Stream

procedure Initialize_From_Stream
   (Self        : not null access Gdk_Pixbuf_Record'Class;
    Stream      : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Error       : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then error will be set. The cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The stream is not closed. Since: gtk+ 2.14 Initialize_From_Stream does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Stream

a GInputStream to load the pixbuf from

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Initialize_From_Stream_At_Scale

procedure Initialize_From_Stream_At_Scale
   (Self                  : not null access Gdk_Pixbuf_Record'Class;
    Stream                : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Cancellable           : access Glib.Cancellable.Gcancellable_Record'Class;
    Error                 : out Glib.Error.GError)

Creates a new pixbuf by loading an image from an input stream. The file format is detected automatically. If NULL is returned, then Error will be set. The Cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains. The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio. When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. If both width and height are given, this function will behave as if the smaller of the two values is passed as -1. When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension. The stream is not closed. Since: gtk+ 2.14 Initialize_From_Stream_At_Scale does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Stream

a GInputStream to load the pixbuf from

Width

The width the image should have or -1 to not constrain the width

Height

The height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Initialize_From_Stream_Finish

procedure Initialize_From_Stream_Finish
   (Self         : not null access Gdk_Pixbuf_Record'Class;
    Async_Result : Glib.G_Async_Result;
    Error        : out Glib.Error.GError)

Finishes an asynchronous pixbuf creation operation started with Gdk.Pixbuf.New_From_Stream_Async. Since: gtk+ 2.24 Initialize_From_Stream_Finish does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Async_Result

a GAsyncResult

Error

the return location for a recoverable error

Initialize_From_Xpm_Data

procedure Initialize_From_Xpm_Data
   (Self : not null access Gdk_Pixbuf_Record'Class;
    Data : GNAT.Strings.String_List)

Creates a new pixbuf by parsing XPM data in memory. This data is commonly the result of including an XPM file into a program's C source. Initialize_From_Xpm_Data does nothing if the object was already created with another call to Initialize* or G_New.

Parameters
Self
Data

Pointer to inline XPM data.

Load

function Load
   (Self        : not null access Gdk_Pixbuf_Record;
    Size        : Glib.Gint;
    The_Type    : access UTF8_String := null;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Error       : out Glib.Error.GError)
    return Glib.Input_Stream.Ginput_Stream
Parameters
Self
Size
The_Type
Cancellable
Error
Return Value

Load_Async

procedure Load_Async
   (Self        : not null access Gdk_Pixbuf_Record;
    Size        : Glib.Gint;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Callback    : Gasync_Ready_Callback)

Loads an icon asynchronously. To finish this function, see Glib.Loadable_Icon.Load_Finish. For the synchronous, blocking version of this function, see Glib.Loadable_Icon.Load.

Parameters
Self
Size

an integer.

Cancellable

optional Glib.Cancellable.Gcancellable object, null to ignore.

Callback

a Gasync_Ready_Callback to call when the request is satisfied

Load_Finish

function Load_Finish
   (Self     : not null access Gdk_Pixbuf_Record;
    Res      : Glib.G_Async_Result;
    The_Type : access UTF8_String := null;
    Error    : out Glib.Error.GError)
    return Glib.Input_Stream.Ginput_Stream
Parameters
Self
Res
The_Type
Error
Return Value

N_Channels_Property

N_Channels_Property : constant Glib.Properties.Property_Int;

The number of samples per pixel.

Currently, only 3 or 4 samples per pixel are supported.

New_From_Stream_Async

procedure New_From_Stream_Async
   (Stream      : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Cancellable : access Glib.Cancellable.Gcancellable_Record'Class;
    Callback    : Gasync_Ready_Callback)

Creates a new pixbuf by asynchronously loading an image from an input stream. For more details see Gdk.Pixbuf.Gdk_New_From_Stream, which is the synchronous version of this function. When the operation is finished, Callback will be called in the main thread. You can then call Gdk.Pixbuf.Gdk_New_From_Stream_Finish to get the result of the operation. Since: gtk+ 2.24

Parameters
Stream

a GInputStream from which to load the pixbuf

Cancellable

optional GCancellable object, NULL to ignore

Callback

a GAsyncReadyCallback to call when the pixbuf is loaded

New_From_Stream_At_Scale_Async

procedure New_From_Stream_At_Scale_Async
   (Stream                : not null access Glib.Input_Stream.Ginput_Stream_Record'Class;
    Width                 : Glib.Gint;
    Height                : Glib.Gint;
    Preserve_Aspect_Ratio : Boolean;
    Cancellable           : access Glib.Cancellable.Gcancellable_Record'Class;
    Callback              : Gasync_Ready_Callback)

Creates a new pixbuf by asynchronously loading an image from an input stream. For more details see Gdk.Pixbuf.Gdk_New_From_Stream_At_Scale, which is the synchronous version of this function. When the operation is finished, Callback will be called in the main thread. You can then call Gdk.Pixbuf.Gdk_New_From_Stream_Finish to get the result of the operation. Since: gtk+ 2.24

Parameters
Stream

a GInputStream from which to load the pixbuf

Width

the width the image should have or -1 to not constrain the width

Height

the height the image should have or -1 to not constrain the height

Preserve_Aspect_Ratio

TRUE to preserve the image's aspect ratio

Cancellable

optional GCancellable object, NULL to ignore

Callback

a GAsyncReadyCallback to call when the pixbuf is loaded

New_Subpixbuf

function New_Subpixbuf
   (Self   : not null access Gdk_Pixbuf_Record;
    Src_X  : Glib.Gint;
    Src_Y  : Glib.Gint;
    Width  : Glib.Gint;
    Height : Glib.Gint) return Gdk_Pixbuf

Creates a new pixbuf which represents a sub-region of src_pixbuf. The new pixbuf shares its pixels with the original pixbuf, so writing to one affects both. The new pixbuf holds a reference to src_pixbuf, so src_pixbuf will not be finalized until the new pixbuf is finalized. Note that if src_pixbuf is read-only, this function will force it to be mutable.

Parameters
Self
Src_X

X coord in Src_Pixbuf

Src_Y

Y coord in Src_Pixbuf

Width

width of region in Src_Pixbuf

Height

height of region in Src_Pixbuf

Return Value

a new pixbuf. Has transfer-ownership='full'.

Pixel_Bytes_Property

Pixel_Bytes_Property : constant Glib.Properties.Property_Boxed;

Type: GLib.Bytes

Pixels_Property

Pixels_Property : constant Glib.Properties.Property_Address :=
Glib.Properties.Build ("pixels");

Property_Gdk_Colorspace

type Property_Gdk_Colorspace is new Gdk_Colorspace_Properties.Property;

Property_Gdk_Interp_Type

type Property_Gdk_Interp_Type is new Gdk_Interp_Type_Properties.Property;

Property_Gdk_Pixbuf_Error

type Property_Gdk_Pixbuf_Error is new Gdk_Pixbuf_Error_Properties.Property;

Property_Gdk_Pixbuf_Rotation

type Property_Gdk_Pixbuf_Rotation is new Gdk_Pixbuf_Rotation_Properties.Property;

Read_Pixel_Bytes

function Read_Pixel_Bytes
   (Self : not null access Gdk_Pixbuf_Record) return Glib.Bytes.Gbytes

Provides a Glib.Bytes.Gbytes buffer containing the raw pixel data; the data must not be modified. This function allows skipping the implicit copy that must be made if Gdk.Pixbuf.Get_Pixels is called on a read-only pixbuf. Since: gtk+ 2.32

Parameters
Self
Return Value

A new reference to a read-only copy of the pixel data. Note that for mutable pixbufs, this function will incur a one-time copy of the pixel data for conversion into the returned Glib.Bytes.Gbytes. Has transfer-ownership='full'.

Read_Pixels

function Read_Pixels
   (Self : not null access Gdk_Pixbuf_Record) return System.Address

Provides a read-only pointer to the raw pixel data. This function allows skipping the implicit copy that must be made if Gdk.Pixbuf.Get_Pixels is called on a read-only pixbuf. Since: gtk+ 2.32

Parameters
Self
Return Value

a read-only pointer to the raw pixel data

Remove_Option

function Remove_Option
   (Self : not null access Gdk_Pixbuf_Record;
    Key  : UTF8_String) return Boolean

Removes the key/value pair option attached to a GdkPixbuf. Since: gtk+ 2.36

Parameters
Self
Key

a nul-terminated string representing the key to remove.

Return Value

TRUE if an option was removed, FALSE if not.

Rotate_Simple

function Rotate_Simple
   (Self  : not null access Gdk_Pixbuf_Record;
    Angle : Gdk_Pixbuf_Rotation) return Gdk_Pixbuf

Rotates a pixbuf by a multiple of 90 degrees, and returns the result in a new pixbuf. If angle is 0, this function will return a copy of src. Since: gtk+ 2.6

Parameters
Self
Angle

the angle to rotate by

Return Value

the new pixbuf. Has transfer-ownership='full'.

Rowstride_Property

Rowstride_Property : constant Glib.Properties.Property_Int;

The number of bytes between the start of a row and the start of the next row.

This number must (obviously) be at least as large as the width of the pixbuf.

Saturate_And_Pixelate

procedure Saturate_And_Pixelate
   (Self       : not null access Gdk_Pixbuf_Record;
    Dest       : not null access Gdk_Pixbuf_Record'Class;
    Saturation : Gfloat;
    Pixelate   : Boolean)

Modifies saturation and optionally pixelates src, placing the result in dest. The src and dest pixbufs must have the same image format, size, and rowstride. The src and dest arguments may be the same pixbuf with no ill effects. If saturation is 1.0 then saturation is not changed. If it's less than 1.0, saturation is reduced (the image turns toward grayscale); if greater than 1.0, saturation is increased (the image gets more vivid colors). If pixelate is TRUE, then pixels are faded in a checkerboard pattern to create a pixelated image.

Parameters
Self
Dest

place to write modified version of Src

Saturation

saturation factor

Pixelate

whether to pixelate

Save_To_Bufferv

function Save_To_Bufferv
   (Self          : not null access Gdk_Pixbuf_Record;
    Buffer        : out System.Address;
    Buffer_Size   : out Gsize;
    The_Type      : UTF8_String;
    Option_Keys   : GNAT.Strings.String_List;
    Option_Values : GNAT.Strings.String_List;
    Error         : out Glib.Error.GError) return Boolean

Vector version of gdk_pixbuf_save_to_buffer. Saves pixbuf to a new buffer in format Type, which is currently "jpeg", "tiff", "png", "ico" or "bmp". See [methodGdkpixbuf.Pixbuf.save_to_buffer] for more details. On success, Buffer is owned by the caller; release it with Glib.G_Free after consuming Buffer_Size bytes. Since: gtk+ 2.4

Parameters
Self
Buffer

location to receive a pointer to the new buffer.

Buffer_Size

location to receive the size of the new buffer.

The_Type

name of file format.

Option_Keys

name of options to set

Option_Values

values for named options

Error

the return location for a recoverable error

Return Value

whether an error was set

Save_To_Stream_Finish

function Save_To_Stream_Finish
   (Async_Result : Glib.G_Async_Result;
    Error        : out Glib.Error.GError) return Boolean

Finishes an asynchronous pixbuf save operation started with gdk_pixbuf_save_to_stream_async. Since: gtk+ 2.24

Parameters
Async_Result

a GAsyncResult

Error

the return location for a recoverable error

Return Value

TRUE if the pixbuf was saved successfully, FALSE if an error was set.

Save_To_Streamv

function Save_To_Streamv
   (Self          : not null access Gdk_Pixbuf_Record;
    Stream        : not null access Glib.Output_Stream.Goutput_Stream_Record'Class;
    The_Type      : UTF8_String;
    Option_Keys   : GNAT.Strings.String_List;
    Option_Values : GNAT.Strings.String_List;
    Cancellable   : access Glib.Cancellable.Gcancellable_Record'Class;
    Error         : out Glib.Error.GError) return Boolean

Saves pixbuf to an output stream. Supported file formats are currently "jpeg", "tiff", "png", "ico" or "bmp". See [methodGdkpixbuf.Pixbuf.save_to_stream] for more details. Since: gtk+ 2.36

Parameters
Self
Stream

a GOutputStream to save the pixbuf to

The_Type

name of file format

Option_Keys

name of options to set

Option_Values

values for named options

Cancellable

optional GCancellable object, NULL to ignore

Error

the return location for a recoverable error

Return Value

TRUE if the pixbuf was saved successfully, FALSE if an error was set.

Save_To_Streamv_Async

procedure Save_To_Streamv_Async
   (Self          : not null access Gdk_Pixbuf_Record;
    Stream        : not null access Glib.Output_Stream.Goutput_Stream_Record'Class;
    The_Type      : UTF8_String;
    Option_Keys   : GNAT.Strings.String_List;
    Option_Values : GNAT.Strings.String_List;
    Cancellable   : access Glib.Cancellable.Gcancellable_Record'Class;
    Callback      : Gasync_Ready_Callback)

Saves pixbuf to an output stream asynchronously. For more details see Gdk.Pixbuf.Save_To_Streamv, which is the synchronous version of this function. When the operation is finished, callback will be called in the main thread. You can then call Gdk.Pixbuf.Save_To_Stream_Finish to get the result of the operation. Since: gtk+ 2.36

Parameters
Self
Stream

a GOutputStream to which to save the pixbuf

The_Type

name of file format

Option_Keys

name of options to set

Option_Values

values for named options

Cancellable

optional GCancellable object, NULL to ignore

Callback

a GAsyncReadyCallback to call when the pixbuf is saved

Savev

function Savev
   (Self          : not null access Gdk_Pixbuf_Record;
    Filename      : UTF8_String;
    The_Type      : UTF8_String;
    Option_Keys   : GNAT.Strings.String_List;
    Option_Values : GNAT.Strings.String_List;
    Error         : out Glib.Error.GError) return Boolean

Vector version of gdk_pixbuf_save. Saves pixbuf to a file in type, which is currently "jpeg", "png", "tiff", "ico" or "bmp". If Error is set, FALSE will be returned. See [methodGdkpixbuf.Pixbuf.save] for more details.

Parameters
Self
Filename

name of file to save.

The_Type

name of file format.

Option_Keys

name of options to set

Option_Values

values for named options

Error

the return location for a recoverable error

Return Value

whether an error was set

Scale

procedure Scale
   (Self        : not null access Gdk_Pixbuf_Record;
    Dest        : not null access Gdk_Pixbuf_Record'Class;
    Dest_X      : Glib.Gint;
    Dest_Y      : Glib.Gint;
    Dest_Width  : Glib.Gint;
    Dest_Height : Glib.Gint;
    Offset_X    : Gdouble;
    Offset_Y    : Gdouble;
    Scale_X     : Gdouble;
    Scale_Y     : Gdouble;
    Interp_Type : Gdk_Interp_Type)

Creates a transformation of the source image Src by scaling by Scale_X and Scale_Y then translating by Offset_X and Offset_Y, then renders the rectangle (Dest_X, Dest_Y, Dest_Width, Dest_Height) of the resulting image onto the destination image replacing the previous contents. Try to use Gdk.Pixbuf.Scale_Simple first; this function is the industrial-strength power tool you can fall back to, if Gdk.Pixbuf.Scale_Simple isn't powerful enough. If the source rectangle overlaps the destination rectangle on the same pixbuf, it will be overwritten during the scaling which results in rendering artifacts.

Parameters
Self
Dest

the Gdk.Pixbuf.Gdk_Pixbuf into which to render the results

Dest_X

the left coordinate for region to render

Dest_Y

the top coordinate for region to render

Dest_Width

the width of the region to render

Dest_Height

the height of the region to render

Offset_X

the offset in the X direction (currently rounded to an integer)

Offset_Y

the offset in the Y direction (currently rounded to an integer)

Scale_X

the scale factor in the X direction

Scale_Y

the scale factor in the Y direction

Interp_Type

the interpolation type for the transformation.

Scale_Simple

function Scale_Simple
   (Self        : not null access Gdk_Pixbuf_Record;
    Dest_Width  : Glib.Gint;
    Dest_Height : Glib.Gint;
    Interp_Type : Gdk_Interp_Type) return Gdk_Pixbuf

Create a new pixbuf containing a copy of src scaled to dest_width x dest_height. This function leaves src unaffected. The interp_type should be GDK_INTERP_NEAREST if you want maximum speed (but when scaling down GDK_INTERP_NEAREST is usually unusably ugly). The default interp_type should be GDK_INTERP_BILINEAR which offers reasonable quality and speed. You can scale a sub-portion of src by creating a sub-pixbuf pointing into src; see [methodGdkpixbuf.Pixbuf.new_subpixbuf]. If dest_width and dest_height are equal to the width and height of src, this function will return an unscaled copy of src. For more complicated scaling/alpha blending see [methodGdkpixbuf.Pixbuf.scale] and [methodGdkpixbuf.Pixbuf.composite].

Parameters
Self
Dest_Width

the width of destination image

Dest_Height

the height of destination image

Interp_Type

the interpolation type for the transformation.

Return Value

the new pixbuf. Has transfer-ownership='full'.

Set_Option

function Set_Option
   (Self  : not null access Gdk_Pixbuf_Record;
    Key   : UTF8_String;
    Value : UTF8_String) return Boolean

Attaches a key/value pair as an option to a GdkPixbuf. If key already exists in the list of options attached to the pixbuf, the new value is ignored and FALSE is returned. Since: gtk+ 2.2

Parameters
Self
Key

a nul-terminated string.

Value

a nul-terminated string.

Return Value

TRUE on success

Width_Property

Width_Property : constant Glib.Properties.Property_Int;

The number of columns of the pixbuf.

Simple Types

Tagged Types

Access Types

Constants

Subprograms

Generic Instantiations