1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
-- Copyright (C) 2010-2013, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
-- License as published by the Free Software Foundation; either --
-- version 2 of the License, or (at your option) any later version. --
-- --
-- This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public --
-- License along with this library; if not, write to the --
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-----------------------------------------------------------------------
package body Cairo.Image_Surface is
----------------------------
-- Create_For_Data_ARGB32 --
----------------------------
function Create_For_Data_ARGB32
(Data : ARGB32_Array_Access;
Width : Gint;
Height : Gint)
return Cairo_Surface
is
Stride : constant Gint := Cairo_Format_Stride_For_Width
(Format => Cairo_Format_ARGB32,
Width => Width);
begin
return Create_For_Data_Generic
(Data (Data'First)'Address,
Cairo_Format_ARGB32,
Width,
Height,
Stride);
end Create_For_Data_ARGB32;
---------------------------
-- Create_For_Data_RGB24 --
---------------------------
function Create_For_Data_RGB24
(Data : RGB24_Array_Access;
Width : Gint;
Height : Gint)
return Cairo_Surface
is
Stride : constant Gint := Cairo_Format_Stride_For_Width
(Format => Cairo_Format_RGB24,
Width => Width);
begin
return Create_For_Data_Generic
(Data (Data'First)'Address,
Cairo_Format_RGB24,
Width,
Height,
Stride);
end Create_For_Data_RGB24;
------------------------
-- Create_For_Data_A8 --
------------------------
function Create_For_Data_A8
(Data : Byte_Array_Access;
Width : Gint;
Height : Gint)
return Cairo_Surface
is
Stride : constant Gint := Cairo_Format_Stride_For_Width
(Format => Cairo_Format_A8,
Width => Width);
begin
return Create_For_Data_Generic
(Data (Data'First)'Address,
Cairo_Format_A8,
Width,
Height,
Stride);
end Create_For_Data_A8;
end Cairo.Image_Surface;
|