Unit fxbitmaps;

{$mode objfpc}

Interface

uses glib,gdk,gtk;

Const 
  DeleteXpmHeight=16;
  DeleteXpmColors=2;
  DeleteXpmArraySize=DeleteXpmHeight+DeleteXpmColors+1;
  DeleteXpm : Array[1..DeleteXpmArraySize] of Pchar = (
    '16 16 2 1',        { 16x16 bitmap using 2 colors, 1 char per color}
    '. c #000000',      { First color: Black  }
    '# c None',         { Second color : Transparent}
    '################', { The bitmap }
    '################',
    '##...#########.#',
    '##....######..##',
    '###....####..###',
    '#####...##..####',
    '######.....#####',
    '#######...######',
    '######.....#####',
    '#####...##..####',
    '####...####..###',
    '###...######.###',
    '##....#######.##',
    '##...###########',
    '###.##########.#',
    '################'
    );

  PropertiesXpmHeight = 16;
  PropertiesXpmColors = 4;
  PropertiesXpmArraySize = PropertiesXpmHeight+PropertiesXpmColors+1;
  PropertiesXpm : Array [1..PropertiesXpmArraySize] of PChar = (
    '16 16 4 1',        { 16x16 bitmap using 2 colors, 1 char per color}
    '. c #000000',      { First color : Black }
    '# c #000080',      { Second color : Light Blue }
    'a c None',         { Third color : Transparent }
    'b c #f8fcf8',      { Last color : greyish }
    'aaaaaaaaaaaaaaaa',
    'aaaaaaa......a##',
    'aaaaaa.aaaaaa.##',
    'aaaaa.a.aaaaaa##',
    '.....a.a.aaaaa##',
    '.bb.a.a.a.aaa.##',
    '.b.a.b.a.a...a##',
    '.b..bbb.a.b.aaaa',
    '.bbbbbbb.bb.aaaa',
    '.bbbbbbbbbb.aaaa',
    '.b..b.....b.aaaa',
    '.bbbbbbbbbb.aaaa',
    '.b..b.....b.aaaa',
    '.bbbbbbbbbb.aaaa',
    '............aaaa',
    'aaaaaaaaaaaaaaaa'
);

function CreateWidgetFromXPM (Window : PGtkWidget; Data : PPChar) : PgtkWidget;

Implementation

function CreateWidgetFromXPM (Window : PGtkWidget; Data : PPChar) : PGtkWidget;

Var
  mask   : PGdkBitmap;
  pixmap : PGdkPixMap;

begin
  pixmap:=gdk_pixmap_create_from_xpm_d(window^.window,@mask,nil,ppgchar(Data));
  Result:=gtk_pixmap_new(Pixmap,Mask);
  gtk_widget_show(Result);
end;

end.
