diff --git a/FL/mac.r b/FL/mac.r new file mode 100644 index 0000000000000000000000000000000000000000..ef7d54eeba1a1743d82723de49e3fbd3cfc8df32 --- /dev/null +++ b/FL/mac.r @@ -0,0 +1,26 @@ +data 'MBAR' (128) { + $"0001 0080" /* ...� */ +}; + +data 'MENU' (128, "Apple") { + $"0080 0000 0000 0000 0000 FFFF FFFB 0114" /* .�........����.. */ + $"0A41 626F 7574 2046 4C54 4B00 0000 0001" /* �About FLTK..... */ + $"2D00 0000 0000" /* -..... */ +}; + +data 'cfrg' (0) { + $"0000 0000 0000 0000 0000 0001 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0000 0000 0000 0001" /* ................ */ + $"7077 7063 0000 0000 0000 0000 0000 0000" /* pwpc............ */ + $"0001 0000 0000 0101 0000 0000 0000 0000" /* ................ */ + $"0000 0000 0000 0000 0034 0662 7574 746F" /* .........4.butto */ + $"6E00 0000" /* n... */ +}; + +data 'SIZE' (-1) { + $"58C0 0006 0000 0006 0000" /* X�........ */ +}; + +data 'carb' (0) { +}; + diff --git a/README.mac b/README.mac new file mode 100644 index 0000000000000000000000000000000000000000..d375cd1883f4864c7dbf044d90cad848818cfa24 --- /dev/null +++ b/README.mac @@ -0,0 +1,97 @@ +README.mac - 12/03/2001 - Building FLTK under MacOS and OS X +------------------------------------------------------------ + + +INTRODUCTION +------------ + +FLTK for Mac OS X is in pre-beta stage. Expect rapid changes to the +source code and build environment. Expect many crashes and funny +bliking patterns. + +FLTK currently supports the following development environment on the +Mac OS X platform: + + - gcc (Carbon) + + - (Metrowerks CodeWarrior - future releases) + + - (Apple Project Builder - future releases) + + - (MPW - future releases) + +FLTK for Mac is carbonized, i.e. all applicatiosn should run on Mac +OS 8.1 and higher and OS X without changes. + + +gcc (Carbon) - how to buid +-------------------------- + +Since the Max OS X command line build environment is based on BSD +Unix, the normal Unix build procedure as described in 'README' +applies. Compiled applications can only be started from within +the terminal though. + +A 'resource fork' needs to be attached to applications to make +them visible to the Finder. A sample resource file is ./FL/mac.r . + +To make 'hello' a full application, compile and link 'hello', then +change into the test directory and type: + +> Rez -t APPL -c Fltk ../FL/mac.r -o hello + + +scripts +------- + +When using Finder applications on source files (i.e. 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." + + +other stuff +----------- + +The following creator ID's 'FLTK', 'Fltk', 'FLID' and 'Flid' are +officially registered with Aplle Computers and can be used for +FLTK applications ('FLTK') and fluid files ('Flid'). + +All applications shout be ended with exit(0); or they might +hang until killed. + + +FLTK 1.0.x for Mac +------------------ + +FLTK 1.0.6 for Mac OS 8.x and OS 9.x is in beta stage and can be +downloaded from http://www.matthiasm.com/fltk/mac.shtml. 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. + + + + + diff --git a/src/Fl_Double_Window.cxx b/src/Fl_Double_Window.cxx index 6e2a741bc4bb503a23e304520cbeb9d0f89ff693..8145dfdf14327a8cfe14047d7c2acb83ee4fe6cc 100644 --- a/src/Fl_Double_Window.cxx +++ b/src/Fl_Double_Window.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Double_Window.cxx,v 1.12.2.4.2.1 2001/11/27 17:44:06 easysw Exp $" +// "$Id: Fl_Double_Window.cxx,v 1.12.2.4.2.2 2001/12/04 03:03:17 matthiaswm Exp $" // // Double-buffered window code for the Fast Light Tool Kit (FLTK). // @@ -149,7 +149,7 @@ void fl_begin_offscreen(GWorldPtr gWorld) { PixMapHandle pm = GetGWorldPixMap(gWorld); LockPixels(pm); fl_window = (Window)prevPort; - SetPort( (GrafPtr)fl_window ); + SetPort( GetWindowPort(fl_window) ); } fl_push_no_clip(); } @@ -275,5 +275,5 @@ Fl_Double_Window::~Fl_Double_Window() { } // -// End of "$Id: Fl_Double_Window.cxx,v 1.12.2.4.2.1 2001/11/27 17:44:06 easysw Exp $". +// End of "$Id: Fl_Double_Window.cxx,v 1.12.2.4.2.2 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/Fl_Pixmap.cxx b/src/Fl_Pixmap.cxx index aac769590cff39bb65a8af9b6062fc07c92e1fbf..83dc965932e6729a67c0d767107a61711246c9f7 100644 --- a/src/Fl_Pixmap.cxx +++ b/src/Fl_Pixmap.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Pixmap.cxx,v 1.9.2.4.2.10 2001/11/27 17:44:06 easysw Exp $" +// "$Id: Fl_Pixmap.cxx,v 1.9.2.4.2.11 2001/12/04 03:03:17 matthiaswm Exp $" // // Pixmap drawing code for the Fast Light Tool Kit (FLTK). // @@ -120,7 +120,7 @@ void Fl_Pixmap::draw(int XP, int YP, int WP, int HP, int cx, int cy) { CopyMask( GetPortBitMapForCopyBits((GrafPtr)id), GetPortBitMapForCopyBits((GrafPtr)mask), - GetPortBitMapForCopyBits((GrafPtr)fl_window), + GetPortBitMapForCopyBits( GetWindowPort(fl_window) ), &src, &src, &dst); } else @@ -485,5 +485,5 @@ void Fl_Pixmap::desaturate() { } // -// End of "$Id: Fl_Pixmap.cxx,v 1.9.2.4.2.10 2001/11/27 17:44:06 easysw Exp $". +// End of "$Id: Fl_Pixmap.cxx,v 1.9.2.4.2.11 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/Fl_mac.cxx b/src/Fl_mac.cxx index 087795a27acde51bd2bfcc6d7699a79a06a0d793..9cab1e8e33a9300cb1411a4ccae050fc89eed28e 100644 --- a/src/Fl_mac.cxx +++ b/src/Fl_mac.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_mac.cxx,v 1.1.2.1 2001/11/27 17:44:06 easysw Exp $" +// "$Id: Fl_mac.cxx,v 1.1.2.2 2001/12/04 03:03:17 matthiaswm Exp $" // // MacOS specific code for the Fast Light Tool Kit (FLTK). // @@ -40,7 +40,7 @@ #include <unistd.h> -int fl_handle(const EventRef event); +int fl_handle(const EventRecord &event); int fl_screen; Handle fl_system_menu; @@ -183,13 +183,35 @@ static double do_queued_events( double time = 0.0 ) //++ SystemEventMask ( MouseUp ) been_here = 1; } - +#ifdef STRICTLY_CARBON EventRef ev; - while ( ReceiveNextEvent(0, NULL, time, true, &ev) ) + //static int evn = 0, evnn = 0; + //printf( "do events %d %g\n", evn++, time ); + //if (time>0.1) time=0.1; + time = 0.1; // TODO: cheat + for (;;) { + OSStatus status = ReceiveNextEvent(0, NULL, time, true, &ev); + if ( status==eventLoopTimedOutErr ) + break; + // TODO: status is 'eventLoopTimedOutErr' if we didn't receive an event in time + // It is (against previous documentation) 0 whenever we receive an event + //printf( " status 0x%08x\n", status ); + //printf( " events %d\n", evnn++ ); + //if ( status!=0 ) break; fl_handle(ev); //: handle the nullEvent to get mouse up events + break; // TODO: cheat // SetRectRgn(rgn, ev.where.h, ev.where.v, ev.where.h+1, ev.where.v+1 ); } +#else + EventRecord ev; + unsigned long ticks = (int)(time*60.0); + while ( WaitNextEvent(everyEvent, &ev, ticks, rgn) ) + { + fl_handle(ev); //: handle the nullEvent to get mouse up events + SetRectRgn(rgn, ev.where.h, ev.where.v, ev.where.h+1, ev.where.v+1 ); + } +#endif #if CONSOLIDATE_MOTION if (send_motion && send_motion == fl_xmousewin) { @@ -276,6 +298,15 @@ static void HandleMenu( long mResult ) HiliteMenu( 0 ); } +static OSErr QuitAppleEventHandler( const AppleEvent *appleEvt, AppleEvent* reply, UInt32 refcon ) +{ + // call 'close' for every window. If any window returns unclosed, don't exit to the shell! + // Fl::handle(FL_CLOSE, fl_find(xid)); + ExitToShell(); + return noErr; +} + + /** * initialize the Mac toolboxes and set the default menubar @@ -299,6 +330,9 @@ void fl_open_display() { // MaxApplZone(); // SysEnvirons( 1, &MacWorld ); + // this thing call the quit-app function which in turn either quits our app or calls 'close' on all windows?! + // (don't know which one would be better) + AEInstallEventHandler( kCoreEventClass, kAEQuitApplication, NewAEEventHandlerUPP((AEEventHandlerProcPtr)QuitAppleEventHandler), 0, false ); // OK, this is just ridiculous... GetQDGlobalsArrow(&default_cursor); @@ -312,9 +346,18 @@ void fl_open_display() { // create a minimal menu bar (\todo "about app", "FLTK settings") // Any FLTK application may replace this menu later with its own bar. - fl_system_menu = GetNewMBar( 1 ); + fl_system_menu = GetNewMBar( 128 ); if ( fl_system_menu ) { SetMenuBar( fl_system_menu ); + /* This is used to remove the Quit menu item from the File Drop Down in 'normal' Mac Apps + err = Gestalt(gestaltMenuMgrAttr, &response); + if ((err == noErr) && (response & gestaltMenuMgrAquaLayoutMask)) + { + menu = GetMenuHandle( mFile ); + DeleteMenuItem( menu, iQuit ); + DeleteMenuItem( menu, iQuitSeparator ); + } + */ AppendResMenu( GetMenuHandle( 1 ), 'DRVR' ); } @@ -520,14 +563,19 @@ void Fl_X::MacGrowWindow(WindowPtr xid, const EventRecord &macevent) */ void Fl_X::MacDragWindow(WindowPtr xid, const EventRecord &macevent) { + // copied from a Carbon sample file + Rect tempRect; + GetRegionBounds(GetGrayRgn(), &tempRect); + DragWindow(xid, macevent.where, &tempRect); + /* BitMap bm; - GetQDGlobalsScreenBits(&bm); DragWindow(xid, macevent.where, &(bm.bounds)); + */ Fl_Window *win = fl_find(xid); if (!win) return; Point pt; pt.h = 0; pt.v = 0; - SetPort((GrafPtr)xid); SetOrigin(0, 0); LocalToGlobal(&pt); + SetPort( GetWindowPort(xid) ); SetOrigin(0, 0); LocalToGlobal(&pt); win->resize( pt.h, pt.v, win->w(), win->h() ); //++ win->x(pt.h); win->y(pt.v); } @@ -575,7 +623,9 @@ void handleUpdateEvent( WindowPtr xid ) { Fl_Window *window = fl_find( xid ); if ( !window ) return; - SetPort( (GrafPtr)xid ); + GrafPtr oldPort; + GetPort( &oldPort ); + SetPort( GetWindowPort(xid) ); Fl_X *i = Fl_X::i( window ); i->wait_for_expose = 0; //++ what about this flag?! if ( window->damage() ) { @@ -589,6 +639,8 @@ void handleUpdateEvent( WindowPtr xid ) } BeginUpdate( xid ); + DrawControls(xid); // do we need this? + DrawGrowIcon(xid); // do we need this? for ( Fl_X *cx = i->xidChildren; cx; cx = cx->xidNext ) { cx->w->clear_damage(window->damage()|FL_DAMAGE_EXPOSE); @@ -598,16 +650,19 @@ void handleUpdateEvent( WindowPtr xid ) window->clear_damage(window->damage()|FL_DAMAGE_EXPOSE); i->flush(); window->clear_damage(); - + EndUpdate( xid ); + SetPort( oldPort ); } /** * dispatch all mac events */ +#ifdef STRICTLY_CARBON int fl_handle(const EventRef event) { + EventRecord &macevent = *event; UInt32 eventclass, eventkind; static char buffer[5]; static unsigned short prevMod = 0; @@ -619,13 +674,23 @@ int fl_handle(const EventRef event) eventkind = GetEventKind(event); memcpy(buffer, &eventclass, 4); buffer[4] = '\0'; - printf("fl_event(): class = %s, kind = %d\n", buffer, eventkind); -#if 0 - switch (macevent.what) + printf("fl_event(): class = %s, kind = %ld\n", buffer, eventkind); +} +#else +int fl_handle(const EventRecord &macevent) +{ + static char buffer[2]; + static unsigned short prevMod = 0; + static WindowPtr prevMouseDownXid; + WindowPtr xid; + int event = 0; + Fl_Window *window = 0L; + switch (macevent.what) { case mouseDown: { // handle the differnt mouseDown events in various areas of the screen int part = FindWindow(macevent.where, &xid); + printf("mousedown in part %d\n", part ); prevMouseDownXid = xid; switch (part) { case inDesk: break; @@ -635,15 +700,17 @@ int fl_handle(const EventRef event) if (xid!=FrontWindow()) SelectWindow( xid ); //{ SelectWindow(xid); return 1; } window = fl_find(xid); if (!window) break; - SetPort((GrafPtr)xid); SetOrigin(0, 0); + SetPort( GetWindowPort(xid) ); SetOrigin(0, 0); Fl::e_keysym = FL_Button+((macevent.modifiers&controlKey)?3:1); //++ simulate three button using modifiers set_event_xy(macevent); checkdouble(); Fl::e_state |= ((macevent.modifiers&controlKey)?FL_BUTTON3:FL_BUTTON1); return Fl::handle(FL_PUSH, window); } case inDrag: Fl_X::MacDragWindow(xid, macevent); break; case inGrow: Fl_X::MacGrowWindow(xid, macevent); break; - case inGoAway: + case inGoAway: if (TrackGoAway(xid, macevent.where)) Fl::handle(FL_CLOSE, fl_find(xid)); + // if there are no more windows, send a high-level quit event + if (!Fl_X::first) QuitAppleEventHandler( 0, 0, 0 ); break; case inZoomIn: case inZoomOut: // if (TrackBox(xid, event.where, part)) DoZoomWindow(xid, part); @@ -654,7 +721,7 @@ int fl_handle(const EventRef event) xid = FrontWindow(); window = fl_find( xid ); if (!window) break; - SetPort((GrafPtr)xid); + SetPort( GetWindowPort(xid) ); SetOrigin(0, 0); Fl::e_keysym = FL_Button+((Fl::e_state&FL_BUTTON1)?1:3); // macevent.modifiers ... set_event_xy(macevent); @@ -732,7 +799,7 @@ int fl_handle(const EventRef event) xid = FrontWindow(); window = fl_find( xid ); if (!window) break; - SetPort((GrafPtr)xid); SetOrigin(0, 0); + SetPort( GetWindowPort(xid) ); SetOrigin(0, 0); set_event_xy(macevent); #if CONSOLIDATE_MOTION send_motion = fl_xmousewin = window; @@ -867,9 +934,12 @@ void Fl_X::make(Fl_Window* w) Fl_Group::current(0); fl_open_display(); int winclass = kDocumentWindowClass; -// int winattr = kCloseBoxAttribute | kCollapseBoxAttribute | kWindowStandardHandlerAttribute; + int winattr = kWindowCloseBoxAttribute + | kWindowCollapseBoxAttribute + //| kWindowStandardHandlerAttribute + ; // int winattr = kWindowStandardHandlerAttribute; - int winattr = 0; +// int winattr = 0; int xp = w->x(); int yp = w->y(); int wp = w->w(); @@ -880,8 +950,8 @@ void Fl_X::make(Fl_Window* w) int minw = o->w(); if (minw > 100) minw = 100; int minh = o->h(); if (minh > 100) minh = 100; w->size_range(w->w() - o->w() + minw, w->h() - o->h() + minh, 0, 0); -// winattr |= kWindowFullZoomAttribute | kWindowResizeableAttribute; - winattr |= kWindowFullZoomAttribute; + winattr |= kWindowFullZoomAttribute | kWindowResizableAttribute; + //winattr |= kWindowFullZoomAttribute; } else { w->size_range(w->w(), w->h(), w->w(), w->h()); } @@ -1057,7 +1127,7 @@ void Fl_Window::make_current() fl_window = i->xid; current_ = this; - SetPort((GrafPtr)(i->xid)); + SetPort( GetWindowPort(i->xid) ); int xp = 0, yp = 0; Fl_Window *win = this; @@ -1088,7 +1158,7 @@ void Fl_Window::make_current() } fl_clip_region( 0 ); - CopyRgn( fl_window_region, GetPortClipRegion((GrafPtr)(i->xid), 0) ); // for Fl_GL_Window + CopyRgn( fl_window_region, GetPortClipRegion( GetWindowPort(i->xid), 0) ); // for Fl_GL_Window return; } @@ -1153,6 +1223,6 @@ elapsedNanoseconds = AbsoluteToNanoseconds(elapsedTime); */ // -// End of "$Id: Fl_mac.cxx,v 1.1.2.1 2001/11/27 17:44:06 easysw Exp $". +// End of "$Id: Fl_mac.cxx,v 1.1.2.2 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/fl_arci.cxx b/src/fl_arci.cxx index 7ea47f2f905499ce0f70d8c1ea66528f8146c107..1974b5aeef366ebbbf5690a702381963468c1898 100644 --- a/src/fl_arci.cxx +++ b/src/fl_arci.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_arci.cxx,v 1.4.2.5.2.1 2001/11/27 17:44:07 easysw Exp $" +// "$Id: fl_arci.cxx,v 1.4.2.5.2.2 2001/12/04 03:03:17 matthiaswm Exp $" // // Arc (integer) drawing functions for the Fast Light Tool Kit (FLTK). // @@ -50,7 +50,7 @@ void fl_arc(int x,int y,int w,int h,double a1,double a2) { #elif defined(__APPLE__) Rect r; r.left=x; r.right=x+w; r.top=y; r.bottom=y+h; a1 = a2-a1; a2 = 450-a2; - FrameArc(&r, a2, a1); + FrameArc(&r, (short int)a2, (short int)a1); #else XDrawArc(fl_display, fl_window, fl_gc, x,y,w-1,h-1, int(a1*64),int((a2-a1)*64)); #endif @@ -69,12 +69,12 @@ void fl_pie(int x,int y,int w,int h,double a1,double a2) { #elif defined(__APPLE__) Rect r; r.left=x; r.right=x+w; r.top=y; r.bottom=y+h; a1 = a2-a1; a2 = 450-a2; - PaintArc(&r, a2, a1); + PaintArc(&r, (short int)a2, (short int)a1); #else XFillArc(fl_display, fl_window, fl_gc, x,y,w,h, int(a1*64),int((a2-a1)*64)); #endif } // -// End of "$Id: fl_arci.cxx,v 1.4.2.5.2.1 2001/11/27 17:44:07 easysw Exp $". +// End of "$Id: fl_arci.cxx,v 1.4.2.5.2.2 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/fl_font_mac.cxx b/src/fl_font_mac.cxx index 5d8e61247cd408152bd18243bb5684ed8cd0d6cf..5afc378a22f507e37a46c12dc2ecaf7f40d222fd 100644 --- a/src/fl_font_mac.cxx +++ b/src/fl_font_mac.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_font_mac.cxx,v 1.1.2.1 2001/11/27 17:44:08 easysw Exp $" +// "$Id: fl_font_mac.cxx,v 1.1.2.2 2001/12/04 03:03:17 matthiaswm Exp $" // // MacOS font selection routines for the Fast Light Tool Kit (FLTK). // @@ -106,7 +106,7 @@ Fl_Fontdesc* fl_fonts = built_in_table; void fl_font(Fl_FontSize* s) { fl_fontsize = s; - SetPort( (GrafPtr)fl_window ); + SetPort( GetWindowPort(fl_window) ); TextFont(fl_fontsize->font); //: select font into current QuickDraw GC TextFace(fl_fontsize->face); TextSize(fl_fontsize->size); @@ -172,5 +172,5 @@ void fl_draw(const char* str, int x, int y) { } // -// End of "$Id: fl_font_mac.cxx,v 1.1.2.1 2001/11/27 17:44:08 easysw Exp $". +// End of "$Id: fl_font_mac.cxx,v 1.1.2.2 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/fl_rect.cxx b/src/fl_rect.cxx index 822961a7b5a13b3968e0fb11af7734a80b8f5cf8..ea4f9c08e0a33199f2cd10961ab4e68b5eb7e340 100644 --- a/src/fl_rect.cxx +++ b/src/fl_rect.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_rect.cxx,v 1.10.2.4.2.2 2001/11/27 17:44:08 easysw Exp $" +// "$Id: fl_rect.cxx,v 1.10.2.4.2.3 2001/12/04 03:03:17 matthiaswm Exp $" // // Rectangle drawing routines for the Fast Light Tool Kit (FLTK). // @@ -340,9 +340,9 @@ void fl_restore_clip() { SelectClipRgn(fl_gc, r); //if r is NULL, clip is automatically cleared #elif defined(__APPLE__) # if 1 - CopyRgn( fl_window_region, GetPortClipRegion((GrafPtr)fl_window, 0) ); + CopyRgn( fl_window_region, GetPortClipRegion( GetWindowPort(fl_window), 0) ); // changed if ( r ) - SectRgn( GetPortClipRegion((GrafPtr)fl_window, 0), r, GetPortClipRegion((GrafPtr)fl_window, 0) ); + SectRgn( GetPortClipRegion( GetWindowPort(fl_window), 0), r, GetPortClipRegion( GetWindowPort(fl_window), 0) ); # else if (r) SetClip(r); else { @@ -494,5 +494,5 @@ int fl_clip_box(int x, int y, int w, int h, int& X, int& Y, int& W, int& H){ } // -// End of "$Id: fl_rect.cxx,v 1.10.2.4.2.2 2001/11/27 17:44:08 easysw Exp $". +// End of "$Id: fl_rect.cxx,v 1.10.2.4.2.3 2001/12/04 03:03:17 matthiaswm Exp $". // diff --git a/src/fl_scroll_area.cxx b/src/fl_scroll_area.cxx index 632e094d20b4d3b0db63f8f57bdf6c5dcb78e55c..b0383354d00867a1489f4324a9001fd3d8bb36d5 100644 --- a/src/fl_scroll_area.cxx +++ b/src/fl_scroll_area.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_scroll_area.cxx,v 1.4.2.3.2.1 2001/11/27 17:44:08 easysw Exp $" +// "$Id: fl_scroll_area.cxx,v 1.4.2.3.2.2 2001/12/04 03:03:17 matthiaswm Exp $" // // Scrolling routines for the Fast Light Tool Kit (FLTK). // @@ -76,8 +76,8 @@ void fl_scroll(int X, int Y, int W, int H, int dx, int dy, Rect dst = { dest_y, dest_x, dest_y+src_h, dest_x+src_w }; static RGBColor bg = { 0xffff, 0xffff, 0xffff }; RGBBackColor( &bg ); static RGBColor fg = { 0x0000, 0x0000, 0x0000 }; RGBForeColor( &fg ); - CopyBits( GetPortBitMapForCopyBits((GrafPtr)fl_window), - GetPortBitMapForCopyBits((GrafPtr)fl_window), &src, &dst, srcCopy, 0L); + CopyBits( GetPortBitMapForCopyBits( GetWindowPort(fl_window) ), + GetPortBitMapForCopyBits( GetWindowPort(fl_window) ), &src, &dst, srcCopy, 0L); #else XCopyArea(fl_display, fl_window, fl_window, fl_gc, src_x, src_y, src_w, src_h, dest_x, dest_y); @@ -96,5 +96,5 @@ void fl_scroll(int X, int Y, int W, int H, int dx, int dy, } // -// End of "$Id: fl_scroll_area.cxx,v 1.4.2.3.2.1 2001/11/27 17:44:08 easysw Exp $". +// End of "$Id: fl_scroll_area.cxx,v 1.4.2.3.2.2 2001/12/04 03:03:17 matthiaswm Exp $". //