Added Metrowerks CodeWarrior support for Windows (MacOS soon to come)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
9feef1e696
commit
cd9ae1abd5
72
CodeWarrior/Plugins/CommonFiles/FluidPanel.h
Normal file
72
CodeWarrior/Plugins/CommonFiles/FluidPanel.h
Normal file
@ -0,0 +1,72 @@
|
||||
/*
|
||||
* FluidPanel.h - 'Fluid Panel' Drop-In Preferences
|
||||
*
|
||||
* Copyright © 1995-2002 Metrowerks Inc. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _H_FluidPanel
|
||||
#define _H_FluidPanel
|
||||
|
||||
#ifndef __TYPES__
|
||||
# include <Types.h>
|
||||
#endif
|
||||
|
||||
|
||||
#pragma options align=mac68k
|
||||
|
||||
|
||||
/* this is the name of the panel, as shown in the Finder */
|
||||
#define kFluidPanelName "Fluid Panel"
|
||||
|
||||
|
||||
/*
|
||||
* AppleScript dictionary info. As a rule of thumb, dropin panels should use the
|
||||
* same terminology and numeric code in their 'aete' that the IDE uses if there
|
||||
* is already a similar item in the IDE's 'aete'. That is the case here, so we
|
||||
* merely duplicate applicable 68K Project and 68K Linker user terms below.
|
||||
*/
|
||||
|
||||
enum {
|
||||
/* Symbolic Name Code AETE Terminology */
|
||||
class_Fluid = 'Flid',
|
||||
|
||||
prefsPR_ProjectType = 'PR01', /* Project Type */
|
||||
prefsPR_FileName = 'PR02', /* File Name */
|
||||
prefsLN_GenerateSymFile = 'LN02', /* Generate SYM File */
|
||||
|
||||
/* enumeration for project type */
|
||||
enumeration_ProjectType = 'PRPT',
|
||||
enum_Project_Application = 'PRPA', /* application */
|
||||
enum_Project_Library = 'PRPL', /* library */
|
||||
enum_Project_SharedLibrary = 'PRPS', /* shared library */
|
||||
enum_Project_CodeResource = 'PRPC', /* code resource */
|
||||
enum_Project_MPWTool = 'PRPM' /* MPW tool */
|
||||
};
|
||||
|
||||
|
||||
/* internal codes for project type */
|
||||
enum {
|
||||
kProjTypeApplication,
|
||||
kProjTypeLibrary,
|
||||
kProjTypeSharedLib,
|
||||
kProjTypeCodeResource,
|
||||
kProjTypeMPWTool
|
||||
};
|
||||
|
||||
|
||||
/* This is the structure that is manipulated by the panel. The Fluid
|
||||
* compiler & linker both "know" about this structure.
|
||||
*/
|
||||
|
||||
typedef struct FluidPref {
|
||||
short version; /* version # of prefs data */
|
||||
short projtype; /* project type */
|
||||
char outfile[32]; /* output file name */
|
||||
Boolean linksym; /* generate SYM file */
|
||||
short dotx; /* position of dot (!) */
|
||||
short doty;
|
||||
} FluidPref, **FluidPrefHandle;
|
||||
|
||||
#pragma options align=reset
|
||||
#endif /* _H_FluidPanel */
|
353
CodeWarrior/Plugins/FluidCompiler/FluidCompiler.c
Normal file
353
CodeWarrior/Plugins/FluidCompiler/FluidCompiler.c
Normal file
@ -0,0 +1,353 @@
|
||||
|
||||
/*
|
||||
* Fluid Tool.c - Fluid Tool (68K and PowerPC) for CodeWarriorª IDE
|
||||
*
|
||||
* Based on Metrowerks Sample Plugin:
|
||||
* Copyright © 1995-2002 Metrowerks Inc. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
/* standard headers */
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stat.h>
|
||||
#include <errno.h>
|
||||
|
||||
/* system headers */
|
||||
#if macintosh
|
||||
#include <Files.h>
|
||||
#include <Strings.h>
|
||||
#endif
|
||||
|
||||
/* compiler headers */
|
||||
#include "DropInCompilerLinker.h"
|
||||
#include "CompilerMapping.h"
|
||||
#include "CWPluginErrors.h"
|
||||
|
||||
/* project headers */
|
||||
#include "../commonFiles/FluidPanel.h"
|
||||
|
||||
|
||||
/* prototypes of local functions */
|
||||
static CWResult Compile(CWPluginContext context);
|
||||
static CWResult ProcessFile(CWPluginContext context, const char* text, Boolean include);
|
||||
static CWResult ParseText(CWPluginContext context, const char* text);
|
||||
static CWResult IncludeFile(CWPluginContext context, const char* inclname,
|
||||
Boolean fullSearch);
|
||||
int IsNewlineChar(char c);
|
||||
|
||||
/* local variables */
|
||||
static long linecount;
|
||||
|
||||
|
||||
#if CW_USE_PRAGMA_EXPORT
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
/**
|
||||
* inform the API about our capabilities by returning the DropInFlags structure
|
||||
*/
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetDropInFlags)(const DropInFlags** flags, long* flagsSize)
|
||||
{
|
||||
static const DropInFlags sFlags = {
|
||||
kCurrentDropInFlagsVersion,
|
||||
CWDROPINCOMPILERTYPE,
|
||||
DROPINCOMPILERLINKERAPIVERSION_7,
|
||||
/*kCanpreprocess | */ kCompAllowDupFileNames,
|
||||
Lang_MISC,
|
||||
DROPINCOMPILERLINKERAPIVERSION
|
||||
};
|
||||
|
||||
*flags = &sFlags;
|
||||
*flagsSize = sizeof(sFlags);
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetDropInName)(const char** dropinName)
|
||||
{
|
||||
static const char* sDropInName = "Fluid Resource Compiler";
|
||||
|
||||
*dropinName = sDropInName;
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetDisplayName)(const char** displayName)
|
||||
{
|
||||
static const char* sDisplayName = "Fluid Resource Compiler";
|
||||
|
||||
*displayName = sDisplayName;
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetPanelList)(const CWPanelList** panelList)
|
||||
{
|
||||
static const char* sPanelName = "Fluid Panel";
|
||||
static CWPanelList sPanelList = {kCurrentCWPanelListVersion, 1, &sPanelName};
|
||||
|
||||
*panelList = &sPanelList;
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
/**
|
||||
* tell CW about the processors and platforms that we support
|
||||
* (which would be any that we can compile Fluid under)
|
||||
*/
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetTargetList)(const CWTargetList** targetList)
|
||||
{
|
||||
static CWDataType sCPU = targetCPUAny;
|
||||
static CWDataType sOS = targetOSAny;
|
||||
static CWTargetList sTargetList = {kCurrentCWTargetListVersion, 1, &sCPU, 1, &sOS};
|
||||
|
||||
*targetList = &sTargetList;
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
/**
|
||||
* tell CW which file types we can process
|
||||
*/
|
||||
CWPLUGIN_ENTRY(CWPlugin_GetDefaultMappingList)(const CWExtMapList** defaultMappingList)
|
||||
{
|
||||
static CWExtensionMapping sExtension = {'TEXT', ".fl", 0};
|
||||
static CWExtMapList sExtensionMapList = {kCurrentCWExtMapListVersion, 1, &sExtension};
|
||||
|
||||
*defaultMappingList = &sExtensionMapList;
|
||||
|
||||
return cwNoErr;
|
||||
}
|
||||
|
||||
#if CW_USE_PRAGMA_EXPORT
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
/*
|
||||
* main - main entry-point for Drop-In Fluid Tool
|
||||
*
|
||||
*/
|
||||
|
||||
CWPLUGIN_ENTRY(main)(CWPluginContext context)
|
||||
{
|
||||
short result;
|
||||
long request;
|
||||
|
||||
if (CWGetPluginRequest(context, &request) != cwNoErr)
|
||||
return cwErrRequestFailed;
|
||||
|
||||
result = cwNoErr;
|
||||
|
||||
/* dispatch on compiler request */
|
||||
switch (request)
|
||||
{
|
||||
case reqInitCompiler:
|
||||
/* compiler has just been loaded into memory */
|
||||
break;
|
||||
|
||||
case reqTermCompiler:
|
||||
/* compiler is about to be unloaded from memory */
|
||||
break;
|
||||
|
||||
case reqCompile:
|
||||
{
|
||||
Boolean pp;
|
||||
result = CWIsPreprocessing( context, &pp );
|
||||
//if ( pp )
|
||||
result = Compile(context);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
result = cwErrRequestFailed;
|
||||
break;
|
||||
}
|
||||
|
||||
/* return result code */
|
||||
return (result);
|
||||
}
|
||||
|
||||
/**
|
||||
* check if the path points to an executable file
|
||||
*/
|
||||
static char exist( const char *filename )
|
||||
{
|
||||
struct stat eStat;
|
||||
int ret = stat( filename, &eStat );
|
||||
if ( ret != 0 ) return 0;
|
||||
if ( eStat.st_mode && S_IEXEC ) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* call (or incorporate) Fluid with our source file as an argument
|
||||
*/
|
||||
static CWResult Compile(CWPluginContext context)
|
||||
{
|
||||
CWResult err;
|
||||
CWFileSpec sourcefile;
|
||||
int ret;
|
||||
char preFileAction = 0;
|
||||
char *fluidCmd = 0;
|
||||
char *fluidCall = 0;
|
||||
char *flPath = 0;
|
||||
const char *flFile = 0;
|
||||
CWFileInfo fileInfo = {
|
||||
true, cwNoDependency, 0, true, 0
|
||||
};
|
||||
CWFileSpec cxxPath, hPath;
|
||||
|
||||
// find FLUID: check the target path for fluid.exe and fluidd.exe
|
||||
|
||||
err = CWFindAndLoadFile( context, "fluid.exe", &fileInfo );
|
||||
if ( err != cwNoErr )
|
||||
err = CWFindAndLoadFile( context, "fluidd.exe", &fileInfo );
|
||||
if ( err == cwNoErr )
|
||||
fluidCmd = strdup( fileInfo.filespec.path );
|
||||
|
||||
// No FLUID in the project path, search the CW compiler paths
|
||||
|
||||
if ( !fluidCmd )
|
||||
{
|
||||
const char *cwFolder = 0;
|
||||
cwFolder = getenv( "CWFOLDER" );
|
||||
if ( cwFolder )
|
||||
{
|
||||
char found = 0;
|
||||
fluidCmd = (char*)malloc( strlen( cwFolder ) + 38 );
|
||||
if (!found)
|
||||
{
|
||||
sprintf( fluidCmd, "%s\\Bin\\fluid.exe", cwFolder );
|
||||
found = exist( fluidCmd );
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
sprintf( fluidCmd, "%s\\Bin\\fluidd.exe", cwFolder );
|
||||
found = exist( fluidCmd );
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
sprintf( fluidCmd, "%s\\Bin\\Plugins\\Compiler\\fluid.exe", cwFolder );
|
||||
found = exist( fluidCmd );
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
sprintf( fluidCmd, "%s\\Bin\\Plugins\\Compiler\\fluidd.exe", cwFolder );
|
||||
found = exist( fluidCmd );
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
free( fluidCmd );
|
||||
fluidCmd = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !fluidCmd )
|
||||
{
|
||||
CWReportMessage( context, NULL,
|
||||
"Fluid resource compiler not found",
|
||||
"Could not find fluid.exe in project path or CodeWarrior parth",
|
||||
messagetypeError, 0 );
|
||||
return cwErrRequestFailed;
|
||||
}
|
||||
|
||||
// get the path to the file we want to compile
|
||||
|
||||
err = CWGetMainFileSpec(context, &sourcefile);
|
||||
if (!CWSUCCESS(err))
|
||||
goto bail;
|
||||
|
||||
flFile = strrchr(sourcefile.path, '.' );
|
||||
if ( flFile )
|
||||
{
|
||||
int len = strlen(sourcefile.path);
|
||||
strcpy( cxxPath.path, sourcefile.path );
|
||||
strcpy( cxxPath.path+(flFile-sourcefile.path), ".cxx" );
|
||||
strcpy( hPath.path, sourcefile.path );
|
||||
strcpy( hPath.path+(flFile-sourcefile.path), ".h" );
|
||||
CWPreFileAction( context, &cxxPath );
|
||||
CWPreFileAction( context, &hPath );
|
||||
preFileAction = 1;
|
||||
}
|
||||
|
||||
// chdir to our .fl file and call fluid
|
||||
|
||||
flFile = strrchr( sourcefile.path, '\\' );
|
||||
if ( !flFile )
|
||||
flFile = strrchr( sourcefile.path, '/' );
|
||||
if ( !flFile )
|
||||
{
|
||||
CWReportMessage( context, NULL,
|
||||
"Can't determine .fl file path",
|
||||
NULL,
|
||||
messagetypeError, 0 );
|
||||
err = cwErrSilent;
|
||||
goto bail;
|
||||
}
|
||||
flPath = strdup( sourcefile.path );
|
||||
flPath[ flFile-sourcefile.path ] = 0;
|
||||
flFile++;
|
||||
|
||||
ret = chdir( flPath );
|
||||
if ( ret )
|
||||
{
|
||||
CWReportMessage( context, NULL,
|
||||
"Can't access .fl file path",
|
||||
flPath,
|
||||
messagetypeError, 0 );
|
||||
err = cwErrSilent;
|
||||
goto bail;
|
||||
}
|
||||
|
||||
// create and run our command
|
||||
|
||||
fluidCall = (char*)malloc( strlen(fluidCmd) + strlen( flFile ) + 24 );
|
||||
sprintf( fluidCall, "%s -c \"%s\"", fluidCmd, flFile );
|
||||
|
||||
ret = spawnl( P_WAIT, fluidCmd, fluidCmd, "-c", flFile, 0 );
|
||||
|
||||
if ( ret )
|
||||
{
|
||||
CWReportMessage( context, NULL,
|
||||
"Fluid system call failed.",
|
||||
fluidCall,
|
||||
messagetypeError, 0 );
|
||||
err = cwErrSilent;
|
||||
goto bail;
|
||||
}
|
||||
|
||||
CWReportMessage( context, NULL,
|
||||
"Fluid Resource compiled successfully",
|
||||
fluidCmd,
|
||||
messagetypeInfo, 0 );
|
||||
//CWReportMessage( context, NULL,
|
||||
// hPath.path,
|
||||
// cxxPath.path,
|
||||
// messagetypeInfo, 0 );
|
||||
|
||||
err = cwNoErr;
|
||||
|
||||
// clean up
|
||||
bail:
|
||||
|
||||
if ( preFileAction )
|
||||
{
|
||||
FILETIME filetime;
|
||||
GetSystemTimeAsFileTime( &filetime );
|
||||
CWPostFileAction( context, &cxxPath );
|
||||
CWSetModDate( context, &cxxPath, &filetime, true );
|
||||
CWPostFileAction( context, &hPath );
|
||||
CWSetModDate( context, &hPath, &filetime, true );
|
||||
}
|
||||
|
||||
if ( fluidCmd ) free( fluidCmd );
|
||||
if ( fluidCall ) free( fluidCall );
|
||||
if ( flPath ) free( flPath );
|
||||
|
||||
return (err);
|
||||
}
|
||||
|
||||
|
BIN
CodeWarrior/Plugins/FluidCompiler/FluidCompiler.mcp
Normal file
BIN
CodeWarrior/Plugins/FluidCompiler/FluidCompiler.mcp
Normal file
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
EXPORTS
|
||||
|
||||
main
|
||||
CWPlugin_GetDropInFlags
|
||||
CWPlugin_GetDropInName
|
||||
CWPlugin_GetDisplayName
|
||||
CWPlugin_GetPanelList
|
||||
CWPlugin_GetTargetList
|
||||
CWPlugin_GetDefaultMappingList
|
37
CodeWarrior/Win32/CWDLLPrefix.H
Normal file
37
CodeWarrior/Win32/CWDLLPrefix.H
Normal file
@ -0,0 +1,37 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// Metrowerks CodeWarrior Prefix File for dynamic libraries
|
||||
//
|
||||
// Copyright 1998-2002 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library 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
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library 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.
|
||||
//
|
||||
// Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
//
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_EXTRA_LEAN
|
||||
#define VC_EXTRA_LEAN
|
||||
|
||||
#include <Win32Headers.h>
|
||||
|
||||
#define FL_DLL
|
||||
#define FL_LIBRARY
|
||||
|
||||
//
|
||||
//
|
||||
//
|
36
CodeWarrior/Win32/CWStaticPrefix.H
Normal file
36
CodeWarrior/Win32/CWStaticPrefix.H
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// Metrowerks CodeWarrior Prefix File for static libraries
|
||||
//
|
||||
// Copyright 1998-2002 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library 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
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library 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.
|
||||
//
|
||||
// Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
//
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_EXTRA_LEAN
|
||||
#define VC_EXTRA_LEAN
|
||||
|
||||
#include <Win32Headers.h>
|
||||
|
||||
#define FL_STATIC
|
||||
|
||||
//
|
||||
//
|
||||
//
|
BIN
CodeWarrior/Win32/FLTK.mcp
Normal file
BIN
CodeWarrior/Win32/FLTK.mcp
Normal file
Binary file not shown.
BIN
CodeWarrior/Win32/FLTK_Data/CWSettingsWindows.stg
Normal file
BIN
CodeWarrior/Win32/FLTK_Data/CWSettingsWindows.stg
Normal file
Binary file not shown.
44
CodeWarrior/Win32/README.txt
Normal file
44
CodeWarrior/Win32/README.txt
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
FLTK Project files for Metrowerks CodeWarrior 8 on Win32
|
||||
--------------------------------------------------------
|
||||
|
||||
Loading:
|
||||
|
||||
The Win32 version of the CW project file for Windows98,
|
||||
Windows2000, etc. is located in
|
||||
fltk-1.1.x/CodeWarrior/Win32/FLTK.mcp
|
||||
|
||||
Targets:
|
||||
|
||||
The first three targets can be use to install and test
|
||||
FLTK for CodeWarrior.
|
||||
|
||||
The first target, 'Install FLTK Release', will compile
|
||||
all FLTK libraries and install them in the Windows support
|
||||
folders of CW.
|
||||
|
||||
'Install Fluid plugin' compiles the interactive UI builder
|
||||
Fluid and installs it as a compiler plugin in CW. Fluid
|
||||
resource files end with the extension ".fl" and can be added
|
||||
to a target using the 'File Mappings' panel. After adding
|
||||
the Fluid plugin via 'run', CodeWarrior must be restarted.
|
||||
|
||||
The third target, 'Build And Run Demos', will only compile
|
||||
without errors after the Fluid plugin has been installed.
|
||||
|
||||
Fluid Plugin:
|
||||
|
||||
The Fluid Plugin allows .fl files to be compiled into .cxx
|
||||
and .h files. It will try to find Fluid (fluid.exe or
|
||||
fluidd.exe) first in one of the target paths, then in either
|
||||
CodeWarriors Bin and Copiler Plugin folder.
|
||||
|
||||
The Plugin makes the home directory of the .fl file the
|
||||
current directory and call Fluid with the -c option.
|
||||
|
||||
After Fluid has created the .cxx and .h file, the plugin
|
||||
will notify CW that those files were externally changed.
|
||||
|
||||
|
||||
Have fun!
|
||||
|
188
CodeWarrior/Win32/config.h
Normal file
188
CodeWarrior/Win32/config.h
Normal file
@ -0,0 +1,188 @@
|
||||
/*
|
||||
* "$Id: config.h,v 1.1.2.1 2002/07/11 22:40:11 matthiaswm Exp $"
|
||||
*
|
||||
* Configuration file for the Fast Light Tool Kit (FLTK) for Visual C++.
|
||||
*
|
||||
* Copyright 1998-2002 by Bill Spitzak and others.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library 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.
|
||||
*
|
||||
* Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
*/
|
||||
|
||||
/*
|
||||
* Where to find files...
|
||||
*/
|
||||
|
||||
#define FLTK_DATADIR "C:/FLTK"
|
||||
#define FLTK_DOCDIR "C:/FLTK/DOC"
|
||||
|
||||
/*
|
||||
* BORDER_WIDTH:
|
||||
*
|
||||
* Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
|
||||
* supported. 3 is the historic FLTK look. 2 looks more like Microsoft
|
||||
* Windows, KDE, and Qt, and is the default when building for Windows.
|
||||
* 1 is a plausible future evolution... Note that this may be simulated
|
||||
* at runtime by redefining the boxtypes using Fl::set_boxtype().
|
||||
*/
|
||||
|
||||
#define BORDER_WIDTH 2
|
||||
|
||||
/*
|
||||
* HAVE_GL:
|
||||
*
|
||||
* Do you have OpenGL? Set this to 0 if you don't have or plan to use
|
||||
* OpenGL, and FLTK will be smaller.
|
||||
*/
|
||||
|
||||
#define HAVE_GL 1
|
||||
|
||||
/*
|
||||
* HAVE_GL_GLU_H:
|
||||
*
|
||||
* Do you have the OpenGL Utility Library header file?
|
||||
* (many broken Mesa RPMs do not...)
|
||||
*/
|
||||
|
||||
#define HAVE_GL_GLU_H 1
|
||||
|
||||
/*
|
||||
* USE_COLORMAP:
|
||||
*
|
||||
* Setting this to zero will save a good deal of code (especially for
|
||||
* fl_draw_image), but FLTK will only work on TrueColor visuals.
|
||||
*/
|
||||
|
||||
#define USE_COLORMAP 1
|
||||
|
||||
/*
|
||||
* HAVE_XDBE:
|
||||
*
|
||||
* Do we have the X double-buffer extension?
|
||||
*/
|
||||
|
||||
#define HAVE_XDBE 0
|
||||
|
||||
/*
|
||||
* USE_XDBE:
|
||||
*
|
||||
* Actually try to use the double-buffer extension? Set this to zero
|
||||
* disable use of XDBE without breaking the list_visuals program.
|
||||
*/
|
||||
|
||||
#define USE_XDBE HAVE_XDBE
|
||||
|
||||
/*
|
||||
* HAVE_OVERLAY:
|
||||
*
|
||||
* Use the X overlay extension? FLTK will try to use an overlay
|
||||
* visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
|
||||
* menus. Setting this to zero will remove a substantial amount of
|
||||
* code from FLTK. Overlays have only been tested on SGI servers!
|
||||
*/
|
||||
|
||||
#define HAVE_OVERLAY 0
|
||||
|
||||
/*
|
||||
* HAVE_GL_OVERLAY:
|
||||
*
|
||||
* It is possible your GL has an overlay even if X does not. If so,
|
||||
* set this to 1.
|
||||
*/
|
||||
|
||||
#define HAVE_GL_OVERLAY 1
|
||||
|
||||
/*
|
||||
* WORDS_BIGENDIAN:
|
||||
*
|
||||
* Byte order of your machine: 1 = big-endian, 0 = little-endian.
|
||||
*/
|
||||
|
||||
#define WORDS_BIGENDIAN 0
|
||||
|
||||
/*
|
||||
* U16, U32, U64:
|
||||
*
|
||||
* Types used by fl_draw_image. One of U32 or U64 must be defined.
|
||||
* U16 is optional but FLTK will work better with it!
|
||||
*/
|
||||
|
||||
#define U16 unsigned short
|
||||
#define U32 unsigned
|
||||
#undef U64
|
||||
|
||||
/*
|
||||
* HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
|
||||
*
|
||||
* Where is <dirent.h> (used only by fl_file_chooser and scandir).
|
||||
*/
|
||||
|
||||
/*#undef HAVE_DIRENT_H */
|
||||
/*#undef HAVE_SYS_NDIR_H */
|
||||
/*#undef HAVE_SYS_DIR_H */
|
||||
/*#undef HAVE_NDIR_H */
|
||||
/*#undef HAVE_SCANDIR */
|
||||
|
||||
/*
|
||||
* Possibly missing sprintf-style functions:
|
||||
*/
|
||||
|
||||
#define HAVE_VSNPRINTF 1
|
||||
#define HAVE_SNPRINTF 1
|
||||
|
||||
/*
|
||||
* String functions...
|
||||
*/
|
||||
|
||||
#define HAVE_STRCASECMP 1
|
||||
/*#undef HAVE_STRLCAT*/
|
||||
/*#undef HAVE_STRLCPY*/
|
||||
|
||||
/*
|
||||
* HAVE_POLL:
|
||||
*
|
||||
* Use poll() if we don't have select().
|
||||
*/
|
||||
|
||||
#define HAVE_POLL 0
|
||||
|
||||
/*
|
||||
* Do we have various image libraries?
|
||||
*/
|
||||
|
||||
#undef HAVE_LIBPNG
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBJPEG
|
||||
|
||||
/*
|
||||
* Which header file do we include for libpng?
|
||||
*/
|
||||
|
||||
#undef HAVE_PNG_H
|
||||
#undef HAVE_LIBPNG_PNG_H
|
||||
|
||||
/*
|
||||
* Do we have the png_xyz() functions?
|
||||
*/
|
||||
|
||||
#undef HAVE_PNG_GET_VALID
|
||||
#undef HAVE_PNG_SET_TRNS_TO_ALPHA
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: config.h,v 1.1.2.1 2002/07/11 22:40:11 matthiaswm Exp $".
|
||||
*/
|
56
CodeWarrior/Win32/installFLTK.bat
Executable file
56
CodeWarrior/Win32/installFLTK.bat
Executable file
@ -0,0 +1,56 @@
|
||||
@echo off
|
||||
|
||||
echo FLTK library installation for Metrowerks' CodeWarrior
|
||||
echo .
|
||||
|
||||
:: --- copy FLTK header files into Win32 support directory
|
||||
|
||||
if exist "%CWFOLDER%" goto copyHeaders
|
||||
|
||||
echo ERROR: Can't copy headers files
|
||||
echo Codewarrior header files folder not found
|
||||
goto skipHeaderCopy
|
||||
|
||||
:copyHeaders
|
||||
echo Copying header files...
|
||||
xcopy /Y /C /E /I /Q ..\..\FL "%CWFOLDER%\Win32-x86 FLTK\Headers\FL"
|
||||
|
||||
:skipHeaderCopy
|
||||
|
||||
|
||||
:: --- copy FLTK libraries into Win32 support directory
|
||||
|
||||
if exist "%CWFOLDER%" goto copyLibs
|
||||
|
||||
echo ERROR: Can't copy libraries
|
||||
echo Codewarrior libraries folder not found
|
||||
goto skipLibsCopy
|
||||
|
||||
:copyLibs
|
||||
echo Copying libraries...
|
||||
xcopy /Y /C /E /I /Q ..\..\lib "%CWFOLDER%\Win32-x86 FLTK\Libraries"
|
||||
|
||||
:skipLibsCopy
|
||||
|
||||
:: --- copy FLTK dll into test directory to make 'editor' test work
|
||||
|
||||
echo Copying dll to 'test'...
|
||||
xcopy /Y /Q ..\..\lib\fltkdll.dll ..\..\test
|
||||
|
||||
:: --- copy FLTK stationary into stationary directory
|
||||
|
||||
if exist "%CWFOLDER%\Stationery\Win32 C++" goto copyStat
|
||||
|
||||
echo ERROR: Can't copy stationary
|
||||
echo Codewarrior stationary folder not found
|
||||
goto skipStatCopy
|
||||
|
||||
:copyStat
|
||||
echo Copying FLTK stationary...
|
||||
xcopy /Y /C /E /I /Q "stationary" "%CWFOLDER%\Stationery\Win32 C++\WIN32 FLTK GUI App"
|
||||
|
||||
:skipStatCopy
|
||||
|
||||
echo .
|
||||
pause
|
||||
|
27
CodeWarrior/Win32/installFluid.bat
Executable file
27
CodeWarrior/Win32/installFluid.bat
Executable file
@ -0,0 +1,27 @@
|
||||
@echo off
|
||||
|
||||
echo FLTK Fluid plugin installation for Metrowerks' CodeWarrior
|
||||
echo .
|
||||
|
||||
:: --- copy Fluid and Fluid Plugin into the CW directories
|
||||
|
||||
if exist "%CWFOLDER%\Bin\Plugins\Compiler" goto copyPlugin
|
||||
|
||||
echo ERROR: Can't Fluid Plugin
|
||||
echo Codewarrior Plugin folder not found
|
||||
goto skipPluginCopy
|
||||
|
||||
:copyPlugin
|
||||
echo Copying Fluid Plugin...
|
||||
copy ..\..\fluid\fluid.exe "%CWFOLDER%\Bin\Plugins\Compiler"
|
||||
copy ..\..\fluid\FluidCompiler.dll "%CWFOLDER%\Bin\Plugins\Compiler"
|
||||
|
||||
:skipPluginCopy
|
||||
|
||||
echo .
|
||||
echo Metrowerks CodeWarrior needs to be restarted to make the
|
||||
echo Fluid Plugin available. Please restart CodeWarrior now
|
||||
echo to compile the FLTK Test and Demo files.
|
||||
echo .
|
||||
pause
|
||||
|
Binary file not shown.
43
CodeWarrior/Win32/stationary/App_using_FLTK_static/hello.cxx
Normal file
43
CodeWarrior/Win32/stationary/App_using_FLTK_static/hello.cxx
Normal file
@ -0,0 +1,43 @@
|
||||
//
|
||||
// "$Id: hello.cxx,v 1.1.2.1 2002/07/11 22:40:11 matthiaswm Exp $"
|
||||
//
|
||||
// Hello, World! program for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 1998-2002 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library 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
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library 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.
|
||||
//
|
||||
// Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
//
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/Fl_Window.H>
|
||||
#include <FL/Fl_Box.H>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
Fl_Window *window = new Fl_Window(300,180);
|
||||
Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!");
|
||||
box->labelfont(FL_BOLD+FL_ITALIC);
|
||||
box->labelsize(36);
|
||||
box->labeltype(FL_SHADOW_LABEL);
|
||||
window->end();
|
||||
window->show(argc, argv);
|
||||
return Fl::run();
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: hello.cxx,v 1.1.2.1 2002/07/11 22:40:11 matthiaswm Exp $".
|
||||
//
|
20
CodeWarrior/Win32/uninstallFLTKandFluid.bat
Executable file
20
CodeWarrior/Win32/uninstallFLTKandFluid.bat
Executable file
@ -0,0 +1,20 @@
|
||||
@echo off
|
||||
|
||||
echo Uninstall FLTK and Fluid for Metrowerks' CodeWarrior
|
||||
echo .
|
||||
|
||||
echo Deleting FLTK Libararies and Includes
|
||||
if exist "%CWFOLDER%\Win32-x86 FLTK\Headers\FL" rd /S /Q "%CWFOLDER%\Win32-x86 FLTK\Headers\FL"
|
||||
if exist "%CWFOLDER%\Win32-x86 FLTK\Libraries" rd /S /Q "%CWFOLDER%\Win32-x86 FLTK\Libraries"
|
||||
if exist "%CWFOLDER%\Win32-x86 FLTK" rd /S /Q "%CWFOLDER%\Win32-x86 FLTK"
|
||||
|
||||
echo Deleting Fluid Plugin
|
||||
if exist "%CWFOLDER%\Bin\Plugins\Compiler\fluid.exe" del "%CWFOLDER%\Bin\Plugins\Compiler\fluid.exe"
|
||||
if exist "%CWFOLDER%\Bin\Plugins\Compiler\FluidCompiler.dll" del "%CWFOLDER%\Bin\Plugins\Compiler\FluidCompiler.dll"
|
||||
|
||||
echo Deleting FLTK Stationary
|
||||
if exist "%CWFOLDER%\Stationery\Win32 C++\WIN32 FLTK GUI App" rd /S /Q "%CWFOLDER%\Stationery\Win32 C++\WIN32 FLTK GUI App"
|
||||
|
||||
echo .
|
||||
pause
|
||||
|
Loading…
Reference in New Issue
Block a user