~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/extra/forms/demo/cursor.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Program cursor;
 
2
 
 
3
{ Cursor routines demo. }
 
4
 
 
5
uses xforms;
 
6
 
 
7
{$i bm1.xbm}
 
8
{$i bm2.xbm}
 
9
 
 
10
type
 
11
TFD_cursor = record
 
12
        cursor : PFL_FORM;
 
13
        vdata : Pointer;
 
14
        ldata : Longint;
 
15
        end;
 
16
PFD_Cursor = ^TFD_Cursor;
 
17
 
 
18
var
 
19
  bitmapcur : Longint;
 
20
 
 
21
 
 
22
function create_form_cursor : PFD_cursor; Forward;
 
23
 
 
24
{ callbacks for form cursor }
 
25
procedure setcursor_cb(ob : PFL_Object; data : Longint);
 
26
begin
 
27
   fl_set_cursor(FL_ObjWin(ob), data);
 
28
end;
 
29
 
 
30
procedure setbitmapcursor_cb(ob : PFL_OBJECT ; data : Longint);cdecl;
 
31
 
 
32
begin
 
33
  if bitmapcur<>0 then
 
34
     bitmapcur := longint(fl_create_bitmap_cursor(Pchar(@bm1_bits), Pchar(@bm2_bits),
 
35
                  16, 16, 8 ,8 ));
 
36
                  {bm1_width, bm1_height,  bm1_width/2, bm1_height/2);}
 
37
  fl_set_cursor(FL_ObjWin(ob), bitmapcur);
 
38
end;
 
39
 
 
40
 
 
41
Procedure done_cb (ob : PFL_OBJECT; data : Longint);cdecl;
 
42
begin
 
43
    Halt(0);
 
44
end;
 
45
 
 
46
 
 
47
Function create_form_cursor : PFD_cursor;
 
48
 
 
49
var
 
50
  obj : PFL_OBJECT;
 
51
  fdui : PFD_cursor;
 
52
 
 
53
begin
 
54
  new(fdui);
 
55
 
 
56
  fdui^.cursor := fl_bgn_form(FL_NO_BOX, 325, 175);
 
57
  obj := fl_add_box(FL_UP_BOX,0,0,325,175,'');
 
58
  obj := fl_add_frame(FL_EMBOSSED_FRAME,10,10,305,120,'');
 
59
  obj := fl_add_button(FL_NORMAL_BUTTON,20,20,65,30,'Hand');
 
60
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@setcursor_cb),XC_hand2);
 
61
  obj := fl_add_button(FL_NORMAL_BUTTON,250,140,60,25,'Done');
 
62
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@done_cb),0);
 
63
  obj := fl_add_button(FL_NORMAL_BUTTON,95,20,65,30,'Watch');
 
64
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@setcursor_cb),XC_watch);
 
65
  obj := fl_add_button(FL_NORMAL_BUTTON,170,20,65,30,'Invisible');
 
66
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@setcursor_cb),FL_INVISIBLE_CURSOR);
 
67
  obj := fl_add_button(FL_NORMAL_BUTTON,90,70,140,50,'DefaultCursor');
 
68
    fl_set_button_shortcut(obj,'Dd#d',1);
 
69
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@setcursor_cb),FL_DEFAULT_CURSOR);
 
70
  obj := fl_add_button(FL_NORMAL_BUTTON,245,20,65,30,'BitmapCur');
 
71
    fl_set_object_callback(obj,PFL_CALLBACkPTR(@setbitmapcursor_cb),0);
 
72
  fl_end_form;
 
73
 
 
74
  create_form_cursor:= fdui;
 
75
end;
 
76
 
 
77
var fd_cursor : PFD_cursor ;
 
78
 
 
79
Begin
 
80
 
 
81
   fl_set_border_width(-2);
 
82
   fl_initialize(@argc, argv, 'FormDemo', nil, 0);
 
83
   fd_cursor := create_form_cursor;
 
84
 
 
85
   { fill-in form initialization code }
 
86
 
 
87
   fl_show_form(fd_cursor^.cursor,FL_PLACE_CENTER,FL_FULLBORDER,'cursor');
 
88
   fl_do_forms;
 
89
end.