summaryrefslogtreecommitdiff
path: root/README.mac
blob: 8178c239cdc85da4c059a2c348c32242f9f0c198 (plain)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
README.mac - 12/20/2001 - Building FLTK under MacOS 8, 9, and X
---------------------------------------------------------------

CONTENTS

    - Introduction
    - How to Build Using GCC (MacOS X)
    - Scripts
    - Known MacFLTK bugs
    - Test suite status
    - Other stuff
    - FLTK 1.0.x for Mac


INTRODUCTION

    FLTK for MacOS X is in beta stage.  Expect rapid changes to
    the source code and build environment. 

    FLTK currently supports the following development
    environments on the MacOS X platform:

	- GCC
	- (Metrowerks CodeWarrior - future releases)
	- (Apple Project Builder - future releases)
	- (MPW - future releases)

    FLTK for Mac is fully carbonized, i.e. all applications
    should run  on MacOS 8.1 and higher and OS X without
    changes.  Note, however, that applications compiled using
    GCC will only run under MacOS X since they use a different
    executable format.


HOW TO BUILD USING GCC (MacOS X)

    Since the MacOS X command line build environment is based on
    BSD UNIX, the normal UNIX build procedure as described in
    'README' applies.

    A 'resource fork' will be attached to applications to make
    them visible in the Finder. The default resource file is
    "FL/mac.r".

    The "fltk-config" script can be used to attach the FLTK
    resource fork to an executable using the "--post" option:

        fltk-config --post foo
	
    where "foo" is the name of the executable.

    To attach your own resource fork to your FLTK program, run
    the "Rez" command:

        Rez -t APPL foo.r -o foo


SCRIPTS

    When using Finder applications on source files (e.g.
    FileMerge), I found the following script very useful. It adds
    resource forks to all text files:

	#!/bin/tcsh
	setenv SET_MAC_TYPE "SetFile -t TEXT -c ttxt "
	setenv F1MAC_N 7
	echo "Setting Mac File Types. Please wait..."
	echo "[1/"$F1MAC_N"]"
	find . -name '*.H' -exec $SET_MAC_TYPE {} \;
	echo "[2/"$F1MAC_N"]"
	find . -name '*.h' -exec $SET_MAC_TYPE {} \;
	echo "[3/"$F1MAC_N"]"
	find . -name '*.c' -exec $SET_MAC_TYPE {} \;
	echo "[4/"$F1MAC_N"]"
	find . -name '*.cxx' -exec $SET_MAC_TYPE {} \;
	echo "[5/"$F1MAC_N"]"
	find . -name '*.fl' -exec $SET_MAC_TYPE {} \;
	echo "[6/"$F1MAC_N"]"
	find . -name 'make*' -exec $SET_MAC_TYPE {} \;
	echo "[7/"$F1MAC_N"]"
	find . -name 'Make*' -exec $SET_MAC_TYPE {} \;
	echo "done."


KNOWN MacFLTK BUGS

    The following FLTK things are not implemented or don't work
    at present:

	- Line styles are not fully implemented.
	- Sub-sub-subwindow not tested.
	- Image transparency is implemented as "screen-door" only
	- The 'shiny' demo needs work (flush/aglFlush).
	- Threads are not implemented.
	- OpenGL subwindow during window resize changes position


TEST SUITE STATUS

    OS X:

    CubeView(++), adjuster(++), arc(++), ask(++), bitmap(++), 
    boxtype(++), browser(++), button(++), buttons(++),
    checkers(++), clock(++), colbrowser(++), color_chooser(++),
    cube(++), cursor(++), curve(++), demo(++), doublebuffer(++),
    editor(++), fast_slow(++), file_chooser(++), fonts(++),
    forms(++), fractals(++), fullscreen(++), gl_overlay(++),
    glpuzzle(++), hello(++), help(++), iconize(++), image(+),
    inactive(++), input(++), keyboard(++), label(++),
    line_style(+), mandelbrot(++), menubar(++), message(++),
    minimum(++), navigation(++), output(++), overlay(++),
    pack(++), pixmap(++), pixmap_browser(++), radio(++),
    resizebox(++), scroll(++), shape(++), shiny(-),
    subwindow(++), symbols(++), tabs(++), tile(++),
    tiled_image(++), valuators(++),  fluid(++)

    (o)=minor bugs, (+)=usable, (++)=running perfectly,
    (-)=major bugs, (--)=crashes  


OTHER STUFF

    The creator ID's 'FLTK', 'Fltk', 'FLID', and 'Flid' are
    officially registered with Apple Computers, Inc. and can be
    used for FLTK applications ('FLTK') and FLUID files
    ('Flid').

    Under MacOS X, all windows are double-buffered. Using
    Fl_Window has the same effect as using Fl_Double_Window on
    other operating systems. Fl_Overlay_Window however uses one 
    additional buffer for the overlay plane.


FLTK 1.0.X FOR MAC

    FLTK 1.0.6 for MacOS 8.x and OS 9.x is in beta stage and can
    be downloaded from http://www.matthiasm.com/flMac.html .
    The archive contains build files for Metrowerks CodeWarrior
    5 and 6.

    FLTK 1.0.6 for Mac is not supported by the FLTK team and
    will not be further developed by the author.  Instead it
    will be replaced by FLTK 1.1.x for Mac in the near future.