mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-24 17:50:31 +01:00
Delete more old files
This commit is contained in:
parent
95af6d7c08
commit
01586f584a
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB |
@ -1,24 +0,0 @@
|
||||
The Win64-VisualStudio version is currently (Irrlicht 1.8) compiled with VS 2010 using the Windows 7.1 SDK as platform toolset.
|
||||
You might get the necessary Windows Platform SDK here: http://msdn.microsoft.com/en-us/windows/bb980924.aspx
|
||||
|
||||
To link to that Irrlicht.dll you need to set platform toolset in your VS version to the same target or re-compile the Irrlicht.dll using another platform toolset.
|
||||
|
||||
To re-compile Irrlicht for Win32-VisualStudio:
|
||||
There are several project files for different VS versions in source/Irrlicht.
|
||||
Irrlicht10.0.sln is for VS 2010
|
||||
Irrlicht11.0.sln is for VS 2012
|
||||
Irrlicht12.0.sln is for VS 2013
|
||||
|
||||
To compile Irrlicht + all examples and all tools check the BuildAllExamples_*.sln files in the examples folder.
|
||||
|
||||
For newer VS versions you have update one of those projects (VS usually can do that automatically when you open an older solution file).
|
||||
|
||||
Currently each of those solutions does set the platform toolset "Windows 7.1 SDK" (to be compatible to each other).
|
||||
You might want to change that in the project settings and set it to your current version.
|
||||
Make sure you use the same platform toolset in your application and in the engine.
|
||||
Also when compiling examples each example has to use the same platform toolset as was used for the engine.
|
||||
|
||||
Platform should be Win64
|
||||
Configuration is by default "Release"
|
||||
But you can also chose "Debug" if you want Irrlicht with Debug information.
|
||||
Static builds are possible but you have to additionally set the _IRR_STATIC_LIB_ define in the application when linking to a static Irrlicht.lib
|
@ -1,34 +0,0 @@
|
||||
The Irrlicht Engine may be compiled to provide support for AES encrypted files. The implementation used by Irrlicht is provided by Dr Brian Gladman. The license for these files (including AES, a PRNG, SHA, and other algorithms) is as follows
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------------------
|
||||
Copyright (c) 2002, Dr Brian Gladman < >, Worcester, UK.
|
||||
All rights reserved.
|
||||
|
||||
LICENSE TERMS
|
||||
|
||||
The free distribution and use of this software in both source and binary
|
||||
form is allowed (with or without changes) provided that:
|
||||
|
||||
1. distributions of this source code include the above copyright
|
||||
notice, this list of conditions and the following disclaimer;
|
||||
|
||||
2. distributions in binary form include the above copyright
|
||||
notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other associated materials;
|
||||
|
||||
3. the copyright holder's name is not used to endorse products
|
||||
built using this software without specific written permission.
|
||||
|
||||
ALTERNATIVELY, provided that this notice is retained in full, this product
|
||||
may be distributed under the terms of the GNU General Public License (GPL),
|
||||
in which case the provisions of the GPL apply INSTEAD OF those given above.
|
||||
|
||||
DISCLAIMER
|
||||
|
||||
This software is provided 'as is' with no explicit or implied warranties
|
||||
in respect of its properties, including, but not limited to, correctness
|
||||
and/or fitness for purpose.
|
||||
---------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1,42 +0,0 @@
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
This program, "bzip2", the associated library "libbzip2", and all
|
||||
documentation, are copyright (C) 1996-2007 Julian R Seward. All
|
||||
rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. The origin of this software must not be misrepresented; you must
|
||||
not claim that you wrote the original software. If you use this
|
||||
software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated but is not required.
|
||||
|
||||
3. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
|
||||
4. The name of the author may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Julian Seward, jseward@bzip.org
|
||||
bzip2/libbzip2 version 1.0.5 of 10 December 2007
|
||||
|
||||
--------------------------------------------------------------------------
|
@ -1,351 +0,0 @@
|
||||
The Independent JPEG Group's JPEG software
|
||||
==========================================
|
||||
|
||||
README for release 8d of 15-Jan-2012
|
||||
====================================
|
||||
|
||||
This distribution contains the eighth public release of the Independent JPEG
|
||||
Group's free JPEG software. You are welcome to redistribute this software and
|
||||
to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
|
||||
|
||||
This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
|
||||
Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
|
||||
Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
|
||||
and other members of the Independent JPEG Group.
|
||||
|
||||
IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee
|
||||
(also known as JPEG, together with ITU-T SG16).
|
||||
|
||||
|
||||
DOCUMENTATION ROADMAP
|
||||
=====================
|
||||
|
||||
This file contains the following sections:
|
||||
|
||||
OVERVIEW General description of JPEG and the IJG software.
|
||||
LEGAL ISSUES Copyright, lack of warranty, terms of distribution.
|
||||
REFERENCES Where to learn more about JPEG.
|
||||
ARCHIVE LOCATIONS Where to find newer versions of this software.
|
||||
ACKNOWLEDGMENTS Special thanks.
|
||||
FILE FORMAT WARS Software *not* to get.
|
||||
TO DO Plans for future IJG releases.
|
||||
|
||||
Other documentation files in the distribution are:
|
||||
|
||||
User documentation:
|
||||
install.txt How to configure and install the IJG software.
|
||||
usage.txt Usage instructions for cjpeg, djpeg, jpegtran,
|
||||
rdjpgcom, and wrjpgcom.
|
||||
*.1 Unix-style man pages for programs (same info as usage.txt).
|
||||
wizard.txt Advanced usage instructions for JPEG wizards only.
|
||||
change.log Version-to-version change highlights.
|
||||
Programmer and internal documentation:
|
||||
libjpeg.txt How to use the JPEG library in your own programs.
|
||||
example.c Sample code for calling the JPEG library.
|
||||
structure.txt Overview of the JPEG library's internal structure.
|
||||
filelist.txt Road map of IJG files.
|
||||
coderules.txt Coding style rules --- please read if you contribute code.
|
||||
|
||||
Please read at least the files install.txt and usage.txt. Some information
|
||||
can also be found in the JPEG FAQ (Frequently Asked Questions) article. See
|
||||
ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
|
||||
|
||||
If you want to understand how the JPEG code works, we suggest reading one or
|
||||
more of the REFERENCES, then looking at the documentation files (in roughly
|
||||
the order listed) before diving into the code.
|
||||
|
||||
|
||||
OVERVIEW
|
||||
========
|
||||
|
||||
This package contains C software to implement JPEG image encoding, decoding,
|
||||
and transcoding. JPEG (pronounced "jay-peg") is a standardized compression
|
||||
method for full-color and gray-scale images.
|
||||
|
||||
This software implements JPEG baseline, extended-sequential, and progressive
|
||||
compression processes. Provision is made for supporting all variants of these
|
||||
processes, although some uncommon parameter settings aren't implemented yet.
|
||||
We have made no provision for supporting the hierarchical or lossless
|
||||
processes defined in the standard.
|
||||
|
||||
We provide a set of library routines for reading and writing JPEG image files,
|
||||
plus two sample applications "cjpeg" and "djpeg", which use the library to
|
||||
perform conversion between JPEG and some other popular image file formats.
|
||||
The library is intended to be reused in other applications.
|
||||
|
||||
In order to support file conversion and viewing software, we have included
|
||||
considerable functionality beyond the bare JPEG coding/decoding capability;
|
||||
for example, the color quantization modules are not strictly part of JPEG
|
||||
decoding, but they are essential for output to colormapped file formats or
|
||||
colormapped displays. These extra functions can be compiled out of the
|
||||
library if not required for a particular application.
|
||||
|
||||
We have also included "jpegtran", a utility for lossless transcoding between
|
||||
different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
|
||||
applications for inserting and extracting textual comments in JFIF files.
|
||||
|
||||
The emphasis in designing this software has been on achieving portability and
|
||||
flexibility, while also making it fast enough to be useful. In particular,
|
||||
the software is not intended to be read as a tutorial on JPEG. (See the
|
||||
REFERENCES section for introductory material.) Rather, it is intended to
|
||||
be reliable, portable, industrial-strength code. We do not claim to have
|
||||
achieved that goal in every aspect of the software, but we strive for it.
|
||||
|
||||
We welcome the use of this software as a component of commercial products.
|
||||
No royalty is required, but we do ask for an acknowledgement in product
|
||||
documentation, as described under LEGAL ISSUES.
|
||||
|
||||
|
||||
LEGAL ISSUES
|
||||
============
|
||||
|
||||
In plain English:
|
||||
|
||||
1. We don't promise that this software works. (But if you find any bugs,
|
||||
please let us know!)
|
||||
2. You can use this software for whatever you want. You don't have to pay us.
|
||||
3. You may not pretend that you wrote this software. If you use it in a
|
||||
program, you must acknowledge somewhere in your documentation that
|
||||
you've used the IJG code.
|
||||
|
||||
In legalese:
|
||||
|
||||
The authors make NO WARRANTY or representation, either express or implied,
|
||||
with respect to this software, its quality, accuracy, merchantability, or
|
||||
fitness for a particular purpose. This software is provided "AS IS", and you,
|
||||
its user, assume the entire risk as to its quality and accuracy.
|
||||
|
||||
This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
|
||||
All Rights Reserved except as specified below.
|
||||
|
||||
Permission is hereby granted to use, copy, modify, and distribute this
|
||||
software (or portions thereof) for any purpose, without fee, subject to these
|
||||
conditions:
|
||||
(1) If any part of the source code for this software is distributed, then this
|
||||
README file must be included, with this copyright and no-warranty notice
|
||||
unaltered; and any additions, deletions, or changes to the original files
|
||||
must be clearly indicated in accompanying documentation.
|
||||
(2) If only executable code is distributed, then the accompanying
|
||||
documentation must state that "this software is based in part on the work of
|
||||
the Independent JPEG Group".
|
||||
(3) Permission for use of this software is granted only if the user accepts
|
||||
full responsibility for any undesirable consequences; the authors accept
|
||||
NO LIABILITY for damages of any kind.
|
||||
|
||||
These conditions apply to any software derived from or based on the IJG code,
|
||||
not just to the unmodified library. If you use our work, you ought to
|
||||
acknowledge us.
|
||||
|
||||
Permission is NOT granted for the use of any IJG author's name or company name
|
||||
in advertising or publicity relating to this software or products derived from
|
||||
it. This software may be referred to only as "the Independent JPEG Group's
|
||||
software".
|
||||
|
||||
We specifically permit and encourage the use of this software as the basis of
|
||||
commercial products, provided that all warranty or liability claims are
|
||||
assumed by the product vendor.
|
||||
|
||||
|
||||
ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
|
||||
sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
|
||||
ansi2knr.c is NOT covered by the above copyright and conditions, but instead
|
||||
by the usual distribution terms of the Free Software Foundation; principally,
|
||||
that you must include source code if you redistribute it. (See the file
|
||||
ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part
|
||||
of any program generated from the IJG code, this does not limit you more than
|
||||
the foregoing paragraphs do.
|
||||
|
||||
The Unix configuration script "configure" was produced with GNU Autoconf.
|
||||
It is copyright by the Free Software Foundation but is freely distributable.
|
||||
The same holds for its supporting scripts (config.guess, config.sub,
|
||||
ltmain.sh). Another support script, install-sh, is copyright by X Consortium
|
||||
but is also freely distributable.
|
||||
|
||||
The IJG distribution formerly included code to read and write GIF files.
|
||||
To avoid entanglement with the Unisys LZW patent, GIF reading support has
|
||||
been removed altogether, and the GIF writer has been simplified to produce
|
||||
"uncompressed GIFs". This technique does not use the LZW algorithm; the
|
||||
resulting GIF files are larger than usual, but are readable by all standard
|
||||
GIF decoders.
|
||||
|
||||
We are required to state that
|
||||
"The Graphics Interchange Format(c) is the Copyright property of
|
||||
CompuServe Incorporated. GIF(sm) is a Service Mark property of
|
||||
CompuServe Incorporated."
|
||||
|
||||
|
||||
REFERENCES
|
||||
==========
|
||||
|
||||
We recommend reading one or more of these references before trying to
|
||||
understand the innards of the JPEG software.
|
||||
|
||||
The best short technical introduction to the JPEG compression algorithm is
|
||||
Wallace, Gregory K. "The JPEG Still Picture Compression Standard",
|
||||
Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
|
||||
(Adjacent articles in that issue discuss MPEG motion picture compression,
|
||||
applications of JPEG, and related topics.) If you don't have the CACM issue
|
||||
handy, a PostScript file containing a revised version of Wallace's article is
|
||||
available at http://www.ijg.org/files/wallace.ps.gz. The file (actually
|
||||
a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
|
||||
omits the sample images that appeared in CACM, but it includes corrections
|
||||
and some added material. Note: the Wallace article is copyright ACM and IEEE,
|
||||
and it may not be used for commercial purposes.
|
||||
|
||||
A somewhat less technical, more leisurely introduction to JPEG can be found in
|
||||
"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
|
||||
M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides
|
||||
good explanations and example C code for a multitude of compression methods
|
||||
including JPEG. It is an excellent source if you are comfortable reading C
|
||||
code but don't know much about data compression in general. The book's JPEG
|
||||
sample code is far from industrial-strength, but when you are ready to look
|
||||
at a full implementation, you've got one here...
|
||||
|
||||
The best currently available description of JPEG is the textbook "JPEG Still
|
||||
Image Data Compression Standard" by William B. Pennebaker and Joan L.
|
||||
Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
|
||||
Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG
|
||||
standards (DIS 10918-1 and draft DIS 10918-2).
|
||||
Although this is by far the most detailed and comprehensive exposition of
|
||||
JPEG publicly available, we point out that it is still missing an explanation
|
||||
of the most essential properties and algorithms of the underlying DCT
|
||||
technology.
|
||||
If you think that you know about DCT-based JPEG after reading this book,
|
||||
then you are in delusion. The real fundamentals and corresponding potential
|
||||
of DCT-based JPEG are not publicly known so far, and that is the reason for
|
||||
all the mistaken developments taking place in the image coding domain.
|
||||
|
||||
The original JPEG standard is divided into two parts, Part 1 being the actual
|
||||
specification, while Part 2 covers compliance testing methods. Part 1 is
|
||||
titled "Digital Compression and Coding of Continuous-tone Still Images,
|
||||
Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
|
||||
10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of
|
||||
Continuous-tone Still Images, Part 2: Compliance testing" and has document
|
||||
numbers ISO/IEC IS 10918-2, ITU-T T.83.
|
||||
IJG JPEG 8 introduces an implementation of the JPEG SmartScale extension
|
||||
which is specified in two documents: A contributed document at ITU and ISO
|
||||
with title "ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced
|
||||
Image Coding", April 2006, Geneva, Switzerland. The latest version of this
|
||||
document is Revision 3. And a contributed document ISO/IEC JTC1/SC29/WG1 N
|
||||
5799 with title "Evolution of JPEG", June/July 2011, Berlin, Germany.
|
||||
|
||||
The JPEG standard does not specify all details of an interchangeable file
|
||||
format. For the omitted details we follow the "JFIF" conventions, revision
|
||||
1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report
|
||||
and thus received a formal publication status. It is available as a free
|
||||
download in PDF format from
|
||||
http://www.ecma-international.org/publications/techreports/E-TR-098.htm.
|
||||
A PostScript version of the JFIF document is available at
|
||||
http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at
|
||||
http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures.
|
||||
|
||||
The TIFF 6.0 file format specification can be obtained by FTP from
|
||||
ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme
|
||||
found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
|
||||
IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
|
||||
Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
|
||||
(Compression tag 7). Copies of this Note can be obtained from
|
||||
http://www.ijg.org/files/. It is expected that the next revision
|
||||
of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
|
||||
Although IJG's own code does not support TIFF/JPEG, the free libtiff library
|
||||
uses our library to implement TIFF/JPEG per the Note.
|
||||
|
||||
|
||||
ARCHIVE LOCATIONS
|
||||
=================
|
||||
|
||||
The "official" archive site for this software is www.ijg.org.
|
||||
The most recent released version can always be found there in
|
||||
directory "files". This particular version will be archived as
|
||||
http://www.ijg.org/files/jpegsrc.v8d.tar.gz, and in Windows-compatible
|
||||
"zip" archive format as http://www.ijg.org/files/jpegsr8d.zip.
|
||||
|
||||
The JPEG FAQ (Frequently Asked Questions) article is a source of some
|
||||
general information about JPEG.
|
||||
It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
|
||||
and other news.answers archive sites, including the official news.answers
|
||||
archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
|
||||
If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
|
||||
with body
|
||||
send usenet/news.answers/jpeg-faq/part1
|
||||
send usenet/news.answers/jpeg-faq/part2
|
||||
|
||||
|
||||
ACKNOWLEDGMENTS
|
||||
===============
|
||||
|
||||
Thank to Juergen Bruder for providing me with a copy of the common DCT
|
||||
algorithm article, only to find out that I had come to the same result
|
||||
in a more direct and comprehensible way with a more generative approach.
|
||||
|
||||
Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the
|
||||
ITU JPEG (Study Group 16) meeting in Geneva, Switzerland.
|
||||
|
||||
Thank to Thomas Wiegand and Gary Sullivan for inviting me to the
|
||||
Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland.
|
||||
|
||||
Thank to Thomas Richter and Daniel Lee for inviting me to the
|
||||
ISO/IEC JTC1/SC29/WG1 (also known as JPEG, together with ITU-T SG16)
|
||||
meeting in Berlin, Germany.
|
||||
|
||||
Thank to John Korejwa and Massimo Ballerini for inviting me to
|
||||
fruitful consultations in Boston, MA and Milan, Italy.
|
||||
|
||||
Thank to Hendrik Elstner, Roland Fassauer, Simone Zuck, Guenther
|
||||
Maier-Gerber, Walter Stoeber, Fred Schmitz, and Norbert Braunagel
|
||||
for corresponding business development.
|
||||
|
||||
Thank to Nico Zschach and Dirk Stelling of the technical support team
|
||||
at the Digital Images company in Halle for providing me with extra
|
||||
equipment for configuration tests.
|
||||
|
||||
Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful
|
||||
communication about JPEG configuration in Sigma Photo Pro software.
|
||||
|
||||
Thank to Andrew Finkenstadt for hosting the ijg.org site.
|
||||
|
||||
Last but not least special thank to Thomas G. Lane for the original
|
||||
design and development of this singular software package.
|
||||
|
||||
|
||||
FILE FORMAT WARS
|
||||
================
|
||||
|
||||
The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together
|
||||
with ITU-T SG16) currently promotes different formats containing the name
|
||||
"JPEG" which is misleading because these formats are incompatible with
|
||||
original DCT-based JPEG and are based on faulty technologies.
|
||||
IJG therefore does not and will not support such momentary mistakes
|
||||
(see REFERENCES).
|
||||
There exist also distributions under the name "OpenJPEG" promoting such
|
||||
kind of formats which is misleading because they don't support original
|
||||
JPEG images.
|
||||
We have no sympathy for the promotion of inferior formats. Indeed, one of
|
||||
the original reasons for developing this free software was to help force
|
||||
convergence on common, interoperable format standards for JPEG files.
|
||||
Don't use an incompatible file format!
|
||||
(In any case, our decoder will remain capable of reading existing JPEG
|
||||
image files indefinitely.)
|
||||
|
||||
Furthermore, the ISO committee pretends to be "responsible for the popular
|
||||
JPEG" in their public reports which is not true because they don't respond to
|
||||
actual requirements for the maintenance of the original JPEG specification.
|
||||
|
||||
There are currently distributions in circulation containing the name
|
||||
"libjpeg" which claim to be a "derivative" or "fork" of the original
|
||||
libjpeg, but don't have the features and are incompatible with formats
|
||||
supported by actual IJG libjpeg distributions. Furthermore, they
|
||||
violate the license conditions as described under LEGAL ISSUES above.
|
||||
We have no sympathy for the release of misleading and illegal
|
||||
distributions derived from obsolete code bases.
|
||||
Don't use an obsolete code base!
|
||||
|
||||
|
||||
TO DO
|
||||
=====
|
||||
|
||||
Version 8 is the first release of a new generation JPEG standard
|
||||
to overcome the limitations of the original JPEG specification.
|
||||
More features are being prepared for coming releases...
|
||||
|
||||
Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.
|
@ -1,111 +0,0 @@
|
||||
|
||||
This copy of the libpng notices is provided for your convenience. In case of
|
||||
any discrepancy between this copy and the notices in the file png.h that is
|
||||
included in the libpng distribution, the latter shall prevail.
|
||||
|
||||
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
||||
|
||||
If you modify libpng you may insert additional notices immediately following
|
||||
this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.9, February 18, 2012, are
|
||||
Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
|
||||
Cosmin Truta
|
||||
|
||||
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
|
||||
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.0.6
|
||||
with the following individuals added to the list of Contributing Authors
|
||||
|
||||
Simon-Pierre Cadieux
|
||||
Eric S. Raymond
|
||||
Gilles Vollant
|
||||
|
||||
and with the following additions to the disclaimer:
|
||||
|
||||
There is no warranty against interference with your enjoyment of the
|
||||
library or against infringement. There is no warranty that our
|
||||
efforts or the library will fulfill any of your particular purposes
|
||||
or needs. This library is provided with all faults, and the entire
|
||||
risk of satisfactory quality, performance, accuracy, and effort is with
|
||||
the user.
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
||||
Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-0.96,
|
||||
with the following individuals added to the list of Contributing Authors:
|
||||
|
||||
Tom Lane
|
||||
Glenn Randers-Pehrson
|
||||
Willem van Schaik
|
||||
|
||||
libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
||||
Copyright (c) 1996, 1997 Andreas Dilger
|
||||
Distributed according to the same disclaimer and license as libpng-0.88,
|
||||
with the following individuals added to the list of Contributing Authors:
|
||||
|
||||
John Bowler
|
||||
Kevin Bracey
|
||||
Sam Bushell
|
||||
Magnus Holmgren
|
||||
Greg Roelofs
|
||||
Tom Tanner
|
||||
|
||||
libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
||||
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
|
||||
|
||||
For the purposes of this copyright and license, "Contributing Authors"
|
||||
is defined as the following set of individuals:
|
||||
|
||||
Andreas Dilger
|
||||
Dave Martindale
|
||||
Guy Eric Schalnat
|
||||
Paul Schmidt
|
||||
Tim Wegner
|
||||
|
||||
The PNG Reference Library is supplied "AS IS". The Contributing Authors
|
||||
and Group 42, Inc. disclaim all warranties, expressed or implied,
|
||||
including, without limitation, the warranties of merchantability and of
|
||||
fitness for any purpose. The Contributing Authors and Group 42, Inc.
|
||||
assume no liability for direct, indirect, incidental, special, exemplary,
|
||||
or consequential damages, which may result from the use of the PNG
|
||||
Reference Library, even if advised of the possibility of such damage.
|
||||
|
||||
Permission is hereby granted to use, copy, modify, and distribute this
|
||||
source code, or portions hereof, for any purpose, without fee, subject
|
||||
to the following restrictions:
|
||||
|
||||
1. The origin of this source code must not be misrepresented.
|
||||
|
||||
2. Altered versions must be plainly marked as such and must not
|
||||
be misrepresented as being the original source.
|
||||
|
||||
3. This Copyright notice may not be removed or altered from any
|
||||
source or altered source distribution.
|
||||
|
||||
The Contributing Authors and Group 42, Inc. specifically permit, without
|
||||
fee, and encourage the use of this source code as a component to
|
||||
supporting the PNG file format in commercial products. If you use this
|
||||
source code in a product, acknowledgment is not required but would be
|
||||
appreciated.
|
||||
|
||||
|
||||
A "png_get_copyright" function is available, for convenient use in "about"
|
||||
boxes and the like:
|
||||
|
||||
printf("%s",png_get_copyright(NULL));
|
||||
|
||||
Also, the PNG logo (in PNG format, of course) is supplied in the
|
||||
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
|
||||
|
||||
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
|
||||
certification mark of the Open Source Initiative.
|
||||
|
||||
Glenn Randers-Pehrson
|
||||
glennrp at users.sourceforge.net
|
||||
February 18, 2012
|
@ -1,2 +0,0 @@
|
||||
Linux Users: There are some tools at the web for reading .chm files (try http://xchm.sourceforge.net/).
|
||||
You can find a html version of this documentation at http://irrlicht.sourceforge.net/docu/index.html
|
@ -1,2 +0,0 @@
|
||||
You might have to recompile the engine to get library files in here.
|
||||
Check the readme.txt in the corresponding bin folders for more information.
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,18 +0,0 @@
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<li class="footer">
|
||||
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
|
||||
Engine</a> Documentation © 2003-2019 by Nikolaus Gebhardt. $generatedby
|
||||
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> $doxygenversion </li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
|
||||
Engine</a> Documentation © 2003-2019 by Nikolaus Gebhardt. $generatedby
|
||||
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen
|
||||
</a> $doxygenversion
|
||||
</small></address>
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 7.0 KiB |
@ -1,44 +0,0 @@
|
||||
mkdir ..\..\..\doctemp
|
||||
mkdir ..\..\..\doctemp\html
|
||||
copy doxygen.css ..\..\..\doctemp\html
|
||||
copy irrlicht.png ..\..\..\doctemp\html
|
||||
copy logobig.png ..\..\..\doctemp\html
|
||||
|
||||
rem enable following line for skipping tutorial generation (can be used for faster testing documentation layout)
|
||||
rem goto SKIP_TUTS
|
||||
|
||||
rem for /F %%i in ('dir ..\..\..\examples\[01]*\main.cpp') DO ..\sed.exe -f tutorials.sed %i >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\01.HelloWorld\main.cpp >tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\02.Quake3Map\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\03.CustomSceneNode\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\04.Movement\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\05.UserInterface\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\06.2DGraphics\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\07.Collision\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\08.SpecialFX\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\09.MeshViewer\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\10.Shaders\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\11.PerPixelLighting\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\12.TerrainRendering\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\13.RenderToTexture\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\14.Win32Window\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\15.LoadIrrFile\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\16.Quake3MapShader\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\17.HelloWorld_Mobile\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\18.SplitScreen\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\19.MouseAndJoystick\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\20.ManagedLights\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\21.Quake3Explorer\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\22.MaterialViewer\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\23.SMeshHandling\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\24.CursorControl\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\25.XmlHandling\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\26.OcclusionQuery\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\27.PostProcessing\main.cpp >>tut.txt
|
||||
..\sed.exe -f tutorials.sed ..\..\..\examples\28.CubeMapping\main.cpp >>tut.txt
|
||||
|
||||
:SKIP_TUTS
|
||||
|
||||
..\doxygen.exe doxygen.cfg
|
||||
|
||||
pause
|
@ -1,20 +0,0 @@
|
||||
mkdir -p ../../../doctemp/html
|
||||
|
||||
rm tut.txt || true;
|
||||
|
||||
mkdir ../../../doctemp
|
||||
mkdir ../../../doctemp/html
|
||||
cp doxygen.css irrlicht.png logobig.png ../../../doctemp/html
|
||||
|
||||
for i in ../../../examples/[012]*/main.cpp; do
|
||||
sed -f tutorials.sed $i >>tut.txt;
|
||||
done
|
||||
|
||||
# Enable for latex docs
|
||||
#doxygen doxygen-pdf.cfg
|
||||
|
||||
# Enable for html docs
|
||||
doxygen doxygen.cfg
|
||||
|
||||
#cp doxygen.css ../../../doctemp/html
|
||||
cp irrlicht.png logobig.png ../../../doctemp/html
|
@ -1,7 +0,0 @@
|
||||
# run on single_tut.txt which is created in maketutorial.sh (or .bat)
|
||||
|
||||
# replace image links as we don't copy the images into example folders but keep them below media folder
|
||||
# most images should be in media
|
||||
s/img src="/img src="..\/..\/media\//g
|
||||
# ???shots.jpg files are in media/example_screenshots another subfolder (earlier replacement already moved them to ../../media/)
|
||||
s/img src="..\/..\/media\/\([0-9]\{3\}shot\)/img src="..\/..\/media\/example_screenshots\/\1/
|
@ -1,4 +0,0 @@
|
||||
REM OUTDATED - don't use this anymore. For now only maketutorial.sh works, this one still has to be updated.
|
||||
REM type tut_head.html >%2
|
||||
REM ..\sed.exe -f maketut.sed %1 >>%2
|
||||
REM type tut_end.html >>%2
|
@ -1,34 +0,0 @@
|
||||
# Create the tutorial.html files in each example folder
|
||||
|
||||
# for every folder below examples
|
||||
for i in ../../../examples/[0123]*; do
|
||||
#for i in ../../../examples/01.*; do # if you want to run/update a single example use this loop
|
||||
echo NOW doing $i
|
||||
|
||||
if ! [ -f "$i/main.cpp" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# uses the main.cpp files to create some file to use as doxygen input
|
||||
sed -f tutorials.sed $i/main.cpp >single_tut.txt
|
||||
# echo tutorials.sed has run
|
||||
|
||||
# create the html file
|
||||
doxygen doxygen_tutorial.cfg
|
||||
# echo doxygen has run
|
||||
|
||||
# Fix the image links
|
||||
sed -f maketut.sed html/example???.html >tutorial.html
|
||||
# echo maketut.sed has run
|
||||
|
||||
#move to example folder
|
||||
mv tutorial.html $i/tutorial.html
|
||||
# echo copied
|
||||
|
||||
#cleanup
|
||||
rm -r html
|
||||
# echo cleaned
|
||||
done
|
||||
|
||||
#cleanup
|
||||
rm single_tut.txt
|
@ -1,5 +0,0 @@
|
||||
<!-- HTML footer for doxygen 1.8.13-->
|
||||
<!-- start footer part -->
|
||||
<p> </p>
|
||||
</body>
|
||||
</html>
|
@ -1,228 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<!-- Wanted to avoid copying .css to each folder, so copied default .css from doxyen in here, kicked out most stuff we don't need for examples and modified some a little bit.
|
||||
Target was having a single html in each example folder which is created from the main.cpp files and needs no files besides some images below media folder.
|
||||
Feel free to improve :)
|
||||
-->
|
||||
<style>
|
||||
body, table, div, p, dl {
|
||||
font: 400 14px/22px;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #F0F0F0;
|
||||
color: black;
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
}
|
||||
|
||||
p.reference, p.definition {
|
||||
font: 400 14px/22px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font: 400 14px/28px;
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
margin: 10px 2px;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
-webkit-transition: text-shadow 0.5s linear;
|
||||
-moz-transition: text-shadow 0.5s linear;
|
||||
-ms-transition: text-shadow 0.5s linear;
|
||||
-o-transition: text-shadow 0.5s linear;
|
||||
transition: text-shadow 0.5s linear;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
caption {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h3.version {
|
||||
font-size: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #3D578C;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contents a:visited {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.el {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.code, a.code:visited, a.line, a.line:visited {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
|
||||
color: #4665A2;
|
||||
}
|
||||
|
||||
pre.fragment {
|
||||
border: 1px solid #C4CFE5;
|
||||
background-color: #FBFCFD;
|
||||
padding: 4px 6px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
overflow: auto;
|
||||
word-wrap: break-word;
|
||||
font-size: 9pt;
|
||||
line-height: 125%;
|
||||
font-family: monospace, fixed;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
div.fragment {
|
||||
padding: 0px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
background-color: #FBFCFD;
|
||||
border: 1px solid #C4CFE5;
|
||||
}
|
||||
|
||||
div.line {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 13px;
|
||||
min-height: 13px;
|
||||
line-height: 1.0;
|
||||
text-wrap: unrestricted;
|
||||
white-space: -moz-pre-wrap; /* Moz */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
white-space: pre-wrap; /* CSS3 */
|
||||
word-wrap: break-word; /* IE 5.5+ */
|
||||
text-indent: -53px;
|
||||
padding-left: 53px;
|
||||
padding-bottom: 0px;
|
||||
margin: 0px;
|
||||
-webkit-transition-property: background-color, box-shadow;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-moz-transition-property: background-color, box-shadow;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-ms-transition-property: background-color, box-shadow;
|
||||
-ms-transition-duration: 0.5s;
|
||||
-o-transition-property: background-color, box-shadow;
|
||||
-o-transition-duration: 0.5s;
|
||||
transition-property: background-color, box-shadow;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
div.contents {
|
||||
margin-top: 10px;
|
||||
margin-left: 12px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
div.center {
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
div.center img {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
span.keyword {
|
||||
color: #008000
|
||||
}
|
||||
|
||||
span.keywordtype {
|
||||
color: #604020
|
||||
}
|
||||
|
||||
span.keywordflow {
|
||||
color: #e08000
|
||||
}
|
||||
|
||||
span.comment {
|
||||
color: #800000
|
||||
}
|
||||
|
||||
span.preprocessor {
|
||||
color: #806020
|
||||
}
|
||||
|
||||
span.stringliteral {
|
||||
color: #002080
|
||||
}
|
||||
|
||||
span.charliteral {
|
||||
color: #008080
|
||||
}
|
||||
|
||||
blockquote {
|
||||
background-color: #F7F8FB;
|
||||
border-left: 2px solid #9CAFD4;
|
||||
margin: 0 24px 0 4px;
|
||||
padding: 0 12px 0 16px;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0px;
|
||||
border: none;
|
||||
border-top: 1px solid #4A6AAA;
|
||||
}
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
color: #2A3D61;
|
||||
}
|
||||
|
||||
div.header {
|
||||
background-image:url('nav_h.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #F9FAFC;
|
||||
margin: 0px;
|
||||
border-bottom: 1px solid #C4CFE5;
|
||||
}
|
||||
|
||||
div.headertitle {
|
||||
padding: 5px 5px 5px 10px;
|
||||
}
|
||||
|
||||
.image {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.caption {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.zoom {
|
||||
border: 1px solid #90A5CE;
|
||||
}
|
||||
|
||||
tr.heading h2 {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
@ -1,13 +0,0 @@
|
||||
# Page start and end are delimited by /** and **/
|
||||
# we keep the end unchanged, the header is extended
|
||||
s/\/\*\* Example \(0*\)\([0-9]*\) \(.*\)$/\/\*\* \\page example\1\2 Tutorial \2: \3\n \\image html \"\1\2shot.jpg\"\n \\image latex \"\1\2shot.jpg\"/
|
||||
|
||||
# All other comments start and end code sections
|
||||
s/\([^\*]\)\*\//\1\\code/
|
||||
s/^\*\//\\code/
|
||||
|
||||
s/\/\*\([^\*]\)/\\endcode \1/
|
||||
s/\/\*$/\\endcode\n/
|
||||
|
||||
#remove DOS line endings
|
||||
s/\r//g
|
Binary file not shown.
@ -1,9 +0,0 @@
|
||||
GNU sed version 4.0.7 - compiled for Win32.
|
||||
Native executable requires only the Microsoft
|
||||
C runtime MSVCRT.DLL, not an emulation layer
|
||||
like Cygwin. This .EXE file was obtained from
|
||||
http://unxutils.sourceforge.net on 2003-10-21.
|
||||
For documentation, GPL license, source code,
|
||||
etc., visit http://unxutils.sourceforge.net.
|
||||
|
||||
Downloaded from http://www.student.northpark.edu/pemente/sed/
|
@ -1,324 +0,0 @@
|
||||
# Copyright (c) 2007-2011 oc2pus
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
# Please submit bugfixes or comments to toni@links2linux.de
|
||||
|
||||
# Packmangroup: Libraries
|
||||
# Packmanpackagename: Irrlicht
|
||||
# Packman: Toni Graffy
|
||||
|
||||
# norootforbuild
|
||||
|
||||
Name: libIrrlicht1
|
||||
Version: 1.9.0
|
||||
Release: 0.pm.1
|
||||
Summary: The Irrlicht Engine SDK
|
||||
License: see readme.txt
|
||||
Group: System/Libraries
|
||||
URL: http://irrlicht.sourceforge.net/
|
||||
Source: irrlicht-%{version}.tar.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: freeglut-devel
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: gcc-c++
|
||||
%if %suse_version >= 1020
|
||||
BuildRequires: Mesa-devel
|
||||
%else
|
||||
BuildRequires: xorg-x11-devel
|
||||
%endif
|
||||
BuildRequires: update-desktop-files
|
||||
|
||||
%description
|
||||
The Irrlicht Engine is an open source high performance realtime 3d engine
|
||||
written and usable in C++. It is completely cross-platform, using D3D, OpenGL
|
||||
and its own software renderer, and has all of the state-of-the-art features
|
||||
which can be found in commercial 3d engines.
|
||||
|
||||
We've got a huge active community, and there are lots of projects in
|
||||
development that use the engine. You can find enhancements for Irrlicht all
|
||||
over the web, like alternative terrain renderers, portal renderers, exporters,
|
||||
world layers, tutorials, editors, language bindings for .NET, Java, Perl, Ruby,
|
||||
Basic, Python, Lua, and so on. And best of all: It's completely free.
|
||||
|
||||
%package -n libIrrlicht-devel
|
||||
Summary: Development package for the Irrlicht library
|
||||
Group: Development/Languages/C and C++
|
||||
Requires: libIrrlicht1 = %{version}
|
||||
# Packmandepends: libIrrlicht1
|
||||
|
||||
%description -n libIrrlicht-devel
|
||||
The Irrlicht Engine is an open source high performance realtime 3d engine
|
||||
written and usable in C++. It is completely cross-platform, using D3D, OpenGL
|
||||
and its own software renderer, and has all of the state-of-the-art features
|
||||
which can be found in commercial 3d engines.
|
||||
|
||||
We've got a huge active community, and there are lots of projects in
|
||||
development that use the engine. You can find enhancements for Irrlicht all
|
||||
over the web, like alternative terrain renderers, portal renderers, exporters,
|
||||
world layers, tutorials, editors, language bindings for .NET, Java, Perl, Ruby,
|
||||
Basic, Python, Lua, and so on. And best of all: It's completely free.
|
||||
|
||||
%package -n Irrlicht-examples
|
||||
Summary: Demos and examples for the Irrlicht-SDK
|
||||
Group: Development/Tools/GUI Builders
|
||||
Requires: libIrrlicht1 = %{version}
|
||||
# Packmandepends: Irrlicht-media libIrrlicht1
|
||||
|
||||
%description -n Irrlicht-examples
|
||||
The Irrlicht Engine is an open source high performance realtime 3d engine
|
||||
written and usable in C++. It is completely cross-platform, using D3D, OpenGL
|
||||
and its own software renderer, and has all of the state-of-the-art features
|
||||
which can be found in commercial 3d engines.
|
||||
|
||||
We've got a huge active community, and there are lots of projects in
|
||||
development that use the engine. You can find enhancements for Irrlicht all
|
||||
over the web, like alternative terrain renderers, portal renderers, exporters,
|
||||
world layers, tutorials, editors, language bindings for .NET, Java, Perl, Ruby,
|
||||
Basic, Python, Lua, and so on. And best of all: It's completely free.
|
||||
|
||||
This package contains some demos and examples for the Irrlicht-SDK.
|
||||
|
||||
%package -n Irrlicht-doc
|
||||
Summary: User documentation for the Irrlicht SDK.
|
||||
Group: Documentation/Other
|
||||
|
||||
%description -n Irrlicht-doc
|
||||
User documentation for the Irrlicht SDK.
|
||||
|
||||
You need a chm-viewer to read the docs (e.g. kchmviewer).
|
||||
|
||||
%package -n Irrlicht-tools
|
||||
Summary: Some tools for the Irrlicht-SDK
|
||||
Group: Development/Tools/GUI Builders
|
||||
Requires: libIrrlicht1 = %{version}
|
||||
Requires: Irrlicht-media
|
||||
# Packmandepends: Irrlicht-media libIrrlicht1
|
||||
|
||||
%description -n Irrlicht-tools
|
||||
Some tools for the Irrlicht-SDK.
|
||||
|
||||
GUIEditor, FontTool and Meshviewer.
|
||||
|
||||
%package -n Irrlicht-media
|
||||
Summary: Some media files for Irrlicht SDK
|
||||
Group: Development/Languages/C and C++
|
||||
|
||||
%description -n Irrlicht-media
|
||||
Some media files for Irrlicht tools and demos.
|
||||
|
||||
%debug_package
|
||||
|
||||
%prep
|
||||
%setup -q -n irrlicht-%{version}
|
||||
|
||||
# only for windows-platform
|
||||
%__rm -r examples/14.Win32Window
|
||||
|
||||
# avoid irrKlang
|
||||
%__sed -i -e 's|^#define USE_IRRKLANG|//#define USE_IRRKLANG|g' \
|
||||
examples/Demo/CDemo.h
|
||||
|
||||
# adjust media path in examples
|
||||
find ./examples -name *.cpp | xargs %__sed -i -e 's|../../media/|%{_datadir}/irrlicht/|g'
|
||||
# adjust media path in tools
|
||||
%__sed -i -e 's|../../media/|%{_datadir}/irrlicht/|g' \
|
||||
tools/GUIEditor/main.cpp
|
||||
|
||||
# pack example-sources
|
||||
tar cj \
|
||||
--exclude *.cbp \
|
||||
--exclude *.dev \
|
||||
--exclude *.dsp \
|
||||
--exclude *.dsw \
|
||||
--exclude *.html \
|
||||
--exclude *.sln \
|
||||
--exclude *.vcproj \
|
||||
-f irrlicht-examples-src.tar.bz2 examples/*
|
||||
|
||||
%build
|
||||
# create shared-lib first
|
||||
pushd source/Irrlicht
|
||||
%__make sharedlib %{?_smp_mflags}
|
||||
popd
|
||||
|
||||
# create necessary links to avoid linker-error for tools/examples
|
||||
pushd lib/Linux
|
||||
ln -s libIrrlicht.so.%{version} libIrrlicht.so.1
|
||||
ln -s libIrrlicht.so.%{version} libIrrlicht.so
|
||||
popd
|
||||
|
||||
# tools
|
||||
pushd tools
|
||||
cd GUIEditor
|
||||
%__make %{?_smp_mflags}
|
||||
cd ..
|
||||
cd IrrFontTool/newFontTool
|
||||
%__make %{?_smp_mflags}
|
||||
cd ../..
|
||||
popd
|
||||
|
||||
# examples
|
||||
pushd examples
|
||||
sh buildAllExamples.sh
|
||||
popd
|
||||
|
||||
# build static lib
|
||||
pushd source/Irrlicht
|
||||
%__make %{?_smp_mflags}
|
||||
popd
|
||||
|
||||
%install
|
||||
%__install -dm 755 %{buildroot}%{_libdir}
|
||||
%__install -m 644 lib/Linux/libIrrlicht.a \
|
||||
%{buildroot}%{_libdir}
|
||||
%__install -m 644 lib/Linux/libIrrlicht.so.%{version} \
|
||||
%{buildroot}%{_libdir}
|
||||
|
||||
pushd %{buildroot}%{_libdir}
|
||||
ln -s libIrrlicht.so.%{version} libIrrlicht.so.1
|
||||
ln -s libIrrlicht.so.%{version} libIrrlicht.so
|
||||
popd
|
||||
|
||||
# includes
|
||||
%__install -dm 755 %{buildroot}%{_includedir}/irrlicht
|
||||
%__install -m 644 include/*.h \
|
||||
%{buildroot}%{_includedir}/irrlicht
|
||||
|
||||
# tools
|
||||
%__install -dm 755 %{buildroot}%{_bindir}
|
||||
%__install -m 755 tools/GUIEditor/GUIEditor \
|
||||
%{buildroot}%{_bindir}/irrlicht-GUIEditor
|
||||
%__install -m 755 bin/Linux/FontTool \
|
||||
%{buildroot}%{_bindir}/irrlicht-FontTool
|
||||
|
||||
# examples
|
||||
%__install -dm 755 %{buildroot}%{_bindir}
|
||||
ex_list=`ls -1 bin/Linux/??.*`
|
||||
for i in $ex_list; do
|
||||
FE=`echo $i | awk 'BEGIN { FS="." }{ print $2 }'`
|
||||
%__install -m 755 $i \
|
||||
%{buildroot}%{_bindir}/irrlicht-$FE
|
||||
done
|
||||
|
||||
# examples-docs
|
||||
pushd examples
|
||||
%__install -dm 755 %{buildroot}%{_docdir}/Irrlicht-examples
|
||||
ex_dir=`find . -name tutorial.html`
|
||||
for i in $ex_dir; do
|
||||
dir_name=`dirname $i`
|
||||
%__install -dm 755 %{buildroot}%{_docdir}/Irrlicht-examples/$dir_name
|
||||
%__install -m 644 $i \
|
||||
%{buildroot}%{_docdir}/Irrlicht-examples/$dir_name
|
||||
done
|
||||
%__rm -r %{buildroot}%{_docdir}/Irrlicht-examples/09.Meshviewer
|
||||
popd
|
||||
|
||||
# examples sources
|
||||
%__install -m 644 irrlicht-examples-src.tar.bz2 \
|
||||
%{buildroot}%{_docdir}/Irrlicht-examples
|
||||
|
||||
# media
|
||||
%__install -dm 755 %{buildroot}%{_datadir}/irrlicht
|
||||
%__install -m 755 media/* \
|
||||
%{buildroot}%{_datadir}/irrlicht
|
||||
|
||||
# icons
|
||||
%__install -dm 755 %{buildroot}%{_datadir}/pixmaps
|
||||
convert examples/09.Meshviewer/icon.ico -resize 48x48! \
|
||||
irrlicht-Meshviewer.png
|
||||
convert bin/Win32-gcc/irrlicht.ico -resize 48x48! \
|
||||
irrlicht.png
|
||||
%__install -m 644 irrlicht*.png \
|
||||
%{buildroot}%{_datadir}/pixmaps
|
||||
|
||||
# menu-entries
|
||||
%__cat > irrlicht-GUIEditor.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Comment=Irrlicht GUI Editor
|
||||
Name=Irrlicht GUI Editor
|
||||
GenericName=
|
||||
Type=Application
|
||||
Exec=irrlicht-GUIEditor
|
||||
Icon=irrlicht.png
|
||||
DocPath=
|
||||
Terminal=0
|
||||
EOF
|
||||
%suse_update_desktop_file -i irrlicht-GUIEditor Development GUIDesigner
|
||||
|
||||
%__cat > irrlicht-FontTool.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Comment=Irrlicht-FontTool
|
||||
Name=Irrlicht-FontTool
|
||||
GenericName=
|
||||
Type=Application
|
||||
Exec=irrlicht-IrrFontTool
|
||||
Icon=irrlicht.png
|
||||
DocPath=
|
||||
Terminal=0
|
||||
EOF
|
||||
%suse_update_desktop_file -i irrlicht-FontTool Development GUIDesigner
|
||||
|
||||
%__cat > irrlicht-Meshviewer.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Comment=Irrlicht-Meshviewer
|
||||
Name=Irrlicht-Meshviewer
|
||||
GenericName=
|
||||
Type=Application
|
||||
Exec=irrlicht-Meshviewer
|
||||
Icon=irrlicht-Meshviewer.png
|
||||
DocPath=
|
||||
Terminal=1
|
||||
EOF
|
||||
%suse_update_desktop_file -i irrlicht-Meshviewer Graphics Viewer
|
||||
|
||||
%clean
|
||||
[ -d %{buildroot} -a "%{buildroot}" != "" ] && %__rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc *.txt
|
||||
%{_libdir}/lib*.so.*
|
||||
|
||||
%files -n libIrrlicht-devel
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/lib*.so
|
||||
%{_libdir}/lib*.a
|
||||
%dir %{_includedir}/irrlicht
|
||||
%{_includedir}/irrlicht/*.h
|
||||
|
||||
%files -n Irrlicht-examples
|
||||
%defattr(-, root, root)
|
||||
%dir %{_docdir}/Irrlicht-examples
|
||||
%{_docdir}/Irrlicht-examples/*
|
||||
%exclude %{_bindir}/irrlicht-GUIEditor
|
||||
%exclude %{_bindir}/irrlicht-FontTool
|
||||
%exclude %{_bindir}/irrlicht-Meshviewer
|
||||
%{_bindir}/irrlicht-*
|
||||
|
||||
%files -n Irrlicht-tools
|
||||
%defattr(-, root, root)
|
||||
%doc examples/09.Meshviewer/tutorial.html
|
||||
%{_bindir}/irrlicht-GUIEditor
|
||||
%{_bindir}/irrlicht-FontTool
|
||||
%{_bindir}/irrlicht-Meshviewer
|
||||
%{_datadir}/applications/irrlicht-GUIEditor.desktop
|
||||
%{_datadir}/applications/irrlicht-FontTool.desktop
|
||||
%{_datadir}/applications/irrlicht-Meshviewer.desktop
|
||||
%{_datadir}/pixmaps/irrlicht*.png
|
||||
|
||||
%files -n Irrlicht-doc
|
||||
%defattr(-, root, root)
|
||||
%doc doc/irrlicht.chm
|
||||
%doc doc/*.txt
|
||||
|
||||
%files -n Irrlicht-media
|
||||
%defattr(-, root, root)
|
||||
%dir %{_datadir}/irrlicht
|
||||
%{_datadir}/irrlicht/*
|
||||
|
||||
%changelog
|
||||
* Wed Jun 20 2007 Toni Graffy <toni@links2linux.de> - 1.3.1-0.pm.1
|
||||
- update to 1.3.1
|
||||
* Sat Jun 16 2007 Toni Graffy <toni@links2linux.de> - 1.3-0.pm.1
|
||||
- initial build 1.3
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="2386F932-20DF-4969-AC74-D8E599723083"><config><identifier>org.irrlichtengine.irrlichtEngineV151.irrlicht.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom includeRoot="true">/Library/Frameworks/Irrlicht.framework</installFrom><installTo>/Library/Frameworks</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>requireAuthorization</mod><mod>extraFiles</mod><mod>version</mod><mod>installTo</mod><mod>identifier</mod></config><contents><file-list>01irrlicht-contents.xml</file-list><component id="org.irrlichtengine.Irrlicht" path="/Library/Frameworks/Irrlicht.framework" version="1.6"><component id="org.irrlichtengine.Irrlicht" path="/Library/Frameworks/Irrlicht.framework/Versions/1.5" version="1.6"/></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents><extra-files/></pkgref>
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="39601D70-59FA-4C66-9AFF-A8523FAD4C7D"><config><identifier>com.irrlicht.irrlichtEngineV151.html.pkg</identifier><version>1</version><description></description><post-install type="none"/><installFrom relative="true">../../../doctemp/html</installFrom><installTo mod="true">/private/tmp/Irrlicht1.5.1-install/doc/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>requireAuthorization</mod><mod>installTo.isAbsoluteType</mod><mod>scripts.postinstall.isRelativeType</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>version</mod><mod>installTo</mod></config><contents><file-list>02html-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="C29A053C-0445-485A-8194-7261BB730C44"><config><identifier>com.irrlicht.irrlichtEngineV151.media.pkg</identifier><version>1</version><description/><post-install type="none"/><requireAuthorization/><installFrom>/Users/gazdavidson/svn/irr1.5/media</installFrom><installTo mod="true">/private/tmp/Irrlicht1.5.1-install/media/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"/><mod>parent</mod><mod>installTo.path</mod><mod>installTo</mod></config><contents><file-list>03media-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="90910AF1-E4E6-4A7B-BE2C-D5651EB803FD"><config><identifier>com.irrlicht.irrlichtEngineV151.tools.pkg</identifier><version>1</version><description/><post-install type="none"/><requireAuthorization/><installFrom>/Users/gazdavidson/svn/irr1.5/tools</installFrom><installTo mod="true">/private/tmp/Irrlicht1.5.1-install/tools/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"/><mod>parent</mod><mod>installTo.path</mod><mod>installTo</mod></config><contents><file-list>05tools-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
<pkg-contents spec="1.12"><f n="changes.txt" o="gazdavidson" g="staff" p="33188" pt="/Users/gazdavidson/svn/irr1.5/changes.txt" m="false" t="file"/></pkg-contents>
|
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="6023EA57-F1C6-45DA-B563-D72F5E02D7EA"><config><identifier>com.irrlicht.irrlichtEngineV151.changes.pkg</identifier><version>1</version><description/><post-install type="none"/><requireAuthorization/><installFrom>/Users/gazdavidson/svn/irr1.5/changes.txt</installFrom><installTo mod="true">/private/tmp/Irrlicht1.5.1-install/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"/><mod>parent</mod><mod>installTo.path</mod><mod>installTo</mod></config><contents><file-list>07changes-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
|
@ -1 +0,0 @@
|
||||
<pkg-contents spec="1.12"><f n="readme.txt" o="gazdavidson" g="staff" p="33188" pt="/Users/gazdavidson/svn/irr1.5/readme.txt" m="false" t="file"/></pkg-contents>
|
@ -1 +0,0 @@
|
||||
<pkgref spec="1.12" uuid="C1B685D8-ECDF-4CE4-A672-82B0F1C0EC80"><config><identifier>com.irrlicht.irrlichtEngineV151.readme.pkg</identifier><version>1</version><description/><post-install type="none"/><requireAuthorization/><installFrom>/Users/gazdavidson/svn/irr1.5/readme.txt</installFrom><installTo mod="true">/private/tmp/Irrlicht1.5.1-install/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"/><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.postupgrade.isRelativeType</mod><mod>scripts.postupgrade.path</mod><mod>installTo.path</mod><mod>installTo</mod></config><scripts><postinstall relative="true" mod="true">moveAll.sh</postinstall><postupgrade relative="true" mod="true">moveAll.sh</postupgrade></scripts><contents><file-list>08readme-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
|
@ -1,47 +0,0 @@
|
||||
<pkmkdoc spec="1.12"><properties><title>Irrlicht Engine v1.5.1</title><build>/Users/gazdavidson/Desktop/installer/Irrlicht v1.5.1.mpkg</build><organization>com.irrlicht</organization><userSees ui="easy"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="Irrlicht.framework" id="installframework" description="This is required, unless you want to build from source." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="org.irrlichtengine.irrlichtEngineV151.irrlicht.pkg"/></choice><choice title="Documentation" id="installdocs" description="This will install the documentation" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.irrlicht.irrlichtEngineV151.html.pkg"/></choice><choice title="Example media" id="installmedia" description="The media for the examples, without this the examples will not run." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.irrlicht.irrlichtEngineV151.media.pkg"/></choice><choice title="Examples" id="installexamples" description="The examples, which you'll need if you want to get started." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.irrlicht.irrlichtEngineV151.examples.pkg"/></choice><choice title="Tools" id="installtools" description="Some useful tools; GUI editor, mesh converter and bitmap font generator" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.irrlicht.irrlichtEngineV151.tools.pkg"/></choice><choice title="Source code" id="installsource" description="The complete source code to the Irrlicht Engine, this allows you to make changes to the core and make your own custom versions of Irrlicht." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.irrlicht.irrlichtEngineV151.source.pkg"/></choice><choice title="changes" id="installchangelog" starts_selected="true" starts_enabled="true" starts_hidden="true"><pkgref id="com.irrlicht.irrlichtEngineV151.changes.pkg"/></choice><choice title="readme" id="installreadme" starts_selected="true" starts_enabled="true" starts_hidden="true"><pkgref id="com.irrlicht.irrlichtEngineV151.readme.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"><resource mime-type="text/rtf" kind="embedded" type="license"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
|
||||
{\fonttbl\f0\fnil\fcharset0 Verdana;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{decimal\}.}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}}
|
||||
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
|
||||
\deftab720
|
||||
\pard\pardeftab720\sl320\sa220\ql\qnatural
|
||||
|
||||
\f0\fs22 \cf0 The Irrlicht Engine License\
|
||||
Copyright \'a9 2002-2009 Nikolaus Gebhardt\
|
||||
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.\
|
||||
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:\
|
||||
\pard\tx220\tx720\pardeftab720\li720\fi-720\sl320\ql\qnatural
|
||||
\ls1\ilvl0\cf0 {\listtext 1. }The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.\
|
||||
{\listtext 2. }Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.\
|
||||
{\listtext 3. }This notice may not be removed or altered from any source distribution.}]]></resource><resource mime-type="text/rtf" kind="embedded" type="readme"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
|
||||
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
||||
|
||||
\f0\fs26 \cf0 The Irrlicht Engine is a cross platform, high performance 3D scene graph API for C++ programmers.\
|
||||
\
|
||||
This package contains:\
|
||||
\
|
||||
* The library runtime. This installs to /Library/Frameworks/Irrlicht.framework and allows you to create and run Irrlicht 3D applications.\
|
||||
\
|
||||
* The examples and project files, which will allow you to get started developing Irrlicht applications.\
|
||||
\
|
||||
* The documentation, which is also available online at http://irrlicht.sourceforge.net/\
|
||||
\
|
||||
* The source to the engine, so that you can modify the engine itself.}]]></resource></locale><locale lang="fr"><resource mime-type="text/rtf" kind="embedded" type="readme"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
|
||||
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
\deftab720
|
||||
\pard\pardeftab720\ql\qnatural
|
||||
|
||||
\f0\fs24 \cf0 Le moteur Irrlicht est une API de rendu 3D tr\'e8s performante pour les programmeurs C++.\
|
||||
\
|
||||
Ce paquet contient:\
|
||||
\
|
||||
* La biblioth\'e8que de runtime. Ceci s'installe vers /Library/Frameworks/Irrlicht.framework et vous permet de cr\'e9er et de lancer des applications Irrlicht, notamment en 3d.\
|
||||
\
|
||||
* Les exemples et les projets, qui vous permettront de commencer \'e0 d\'e9velopper des applications Irrlicht.\
|
||||
\
|
||||
* La documentation, qui est aussi disponible sur http://irrlicht.sourceforge.net/\
|
||||
\
|
||||
* Les sources du moteur, afin que vous puissiez modifier le moteur vous-m\'eame.}]]></resource></locale></resources><flags/><extra-files/><item type="file">01irrlicht.xml</item><item type="file">02html.xml</item><item type="file">03media.xml</item><item type="file">04examples.xml</item><item type="file">05tools.xml</item><item type="file">06source.xml</item><item type="file">07changes.xml</item><item type="file">08readme.xml</item><mod>properties.userDomain</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod><mod>properties.customizeOption</mod><mod>extraFiles</mod><mod>properties.title</mod></pkmkdoc>
|
@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
mkdir -p $HOME/Irrlicht1.6.0/
|
||||
chmod a+rw $HOME/Irrlicht1.6.0
|
||||
find /private/tmp/Irrlicht1.6.0-install -exec chmod a+rw {} \;
|
||||
cp -rfp /private/tmp/Irrlicht1.6.0-install/ $HOME/Irrlicht1.6.0/
|
||||
rm -Rf /private/tmp/Irrlicht1.6.0-install
|
@ -1,28 +0,0 @@
|
||||
This is the source package for the Irrlicht framework installer.
|
||||
|
||||
Build steps are as follows-
|
||||
|
||||
1) Remove the framework so you don't accidentally package more than one version, if you use the GUI to do this empty the trash so XCode doesn't build to the trash! It's best to run this command from the console:
|
||||
|
||||
rm -Rf /Library/Frameworks/Irrlicht.framework
|
||||
|
||||
2) Build the library and the binaries.
|
||||
|
||||
* Navigate to source/Irrlicht/MacOSX and open the XCode project
|
||||
|
||||
* Choose release mode and build Irrlicht.framework
|
||||
|
||||
** For the moment it's not worth installing the sample binaries, they can't be launched due to console input
|
||||
|
||||
3) Build the documentation
|
||||
|
||||
* Open the console and navigate to scripts/doc/irrlicht
|
||||
|
||||
* Make sure you have doxygen installed. If you have Aptitude for OSX then type:
|
||||
|
||||
sudo apt-get install doxygen
|
||||
|
||||
* Now run the makedocumentation bash script:
|
||||
./makedocumentation.sh
|
||||
|
||||
4) Now double click the package file and build it.
|
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="FileToHeader" />
|
||||
<Option pch_mode="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Linux">
|
||||
<Option platforms="Unix;" />
|
||||
<Option output="..\..\bin\Linux\FileToHeader" prefix_auto="0" extension_auto="0" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add option="-D_IRR_STATIC_LIB_" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="..\..\lib\Linux" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Windows">
|
||||
<Option platforms="Windows;" />
|
||||
<Option output="..\..\bin\Win32-gcc\FileToHeader" prefix_auto="0" extension_auto="1" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="..\..\lib\Win32-gcc" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<VirtualTargets>
|
||||
<Add alias="All" targets="Windows;Linux;" />
|
||||
</VirtualTargets>
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
<Unit filename="main.cpp" />
|
||||
<Extensions>
|
||||
<code_completion />
|
||||
<debugger />
|
||||
<envvars />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
@ -1,35 +0,0 @@
|
||||
# Makefile for FileToHeader
|
||||
Target = FileToHeader
|
||||
Sources = main.cpp
|
||||
|
||||
# general compiler settings
|
||||
CPPFLAGS = -I../../include
|
||||
CXXFLAGS = -O3 -ffast-math -Wall
|
||||
#CXXFLAGS = -g -Wall
|
||||
|
||||
#default target is Linux
|
||||
all: all_linux
|
||||
|
||||
ifeq ($(HOSTTYPE), x86_64)
|
||||
LIBSELECT=64
|
||||
endif
|
||||
|
||||
# target specific settings
|
||||
all_linux clean_linux: SYSTEM=Linux
|
||||
all_win32: LDFLAGS = -L../../lib/Win32-gcc
|
||||
all_win32 clean_win32: SYSTEM=Win32-gcc
|
||||
all_win32 clean_win32: SUF=.exe
|
||||
# name of the binary - only valid for targets which set SYSTEM
|
||||
DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
|
||||
|
||||
all_linux all_win32:
|
||||
$(warning Building...)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
|
||||
|
||||
clean: clean_linux clean_win32
|
||||
$(warning Cleaning...)
|
||||
|
||||
clean_linux clean_win32:
|
||||
@$(RM) $(DESTPATH)
|
||||
|
||||
.PHONY: all all_win32 clean clean_linux clean_win32
|
@ -1,175 +0,0 @@
|
||||
// Copyright (C) 2012 Gaz Davidson
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
/***
|
||||
This tool creates a .h file from a given input file by encoding it into a C string,
|
||||
allowing you to build your resources directly into your binaries, just like Irrlicht's
|
||||
built-in font.
|
||||
|
||||
To distribute your app as a single executable file of minimal size:
|
||||
|
||||
1. Put all your resources into a single directory and add it to Irrlicht's filesystem
|
||||
as a folder through IFileSystem::addArchive. Develop and test your app as usual.
|
||||
2. Open IrrCompileConfig.h and comment out all the options that your app does not use.
|
||||
This will reduce the size of the Irrlicht library considerably.
|
||||
* You should remove the D3D video drivers, because they rely on external DLLs.
|
||||
* You should keep either the TAR or ZIP archive loader, used in step 6.
|
||||
* If you remove the JPEG loader, you don't have to say you use JPEG code in your
|
||||
documentation.
|
||||
3. Recompile Irrlicht as a static library, editing the IRR_STATIC_LIB line in
|
||||
IrrCompileConfig.h.
|
||||
The next time you compile your application it will take a while longer, but
|
||||
Irrlicht will be built into your binary.
|
||||
4. TAR or ZIP your resource directory using your favourite archiving tool (ie 7zip).
|
||||
* If you chose ZIP but compiled without zlib, don't compress this archive or it
|
||||
won't open.
|
||||
5. Run this tool to convert your resource file into a .h file, like so:
|
||||
FileToHeader res.zip > EmbeddedResources.h
|
||||
6. Add the .h file to your project, create the embedded read file then mount as a
|
||||
ZIP or TAR archive instead of the folder, like so:
|
||||
io::IReadFile *f = io::createEmbeddedFile(device->getFileSystem(), "res.zip");
|
||||
device->getFileSystem()->addFileArchive(f);
|
||||
archive->drop();
|
||||
7. Recompile your app.
|
||||
* If you use Microsoft's compiler, make sure your CRT (common run-time) is
|
||||
the static library version, otherwise you'll have a dependency on the CRT DLLs.
|
||||
Your binary should now be completely portable; you can distribute just the exe file.
|
||||
8. Optional: Use UPX (upx.sf.net) to compress your binary.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc < 2)
|
||||
{
|
||||
// print usage
|
||||
cerr << "You must to specify at least one input file" << endl;
|
||||
cerr << "usage: " << argv[0] << "<file1> [file2...]" << endl;
|
||||
cerr << "outputs a header file to stdout, so for example use";
|
||||
return 1;
|
||||
}
|
||||
|
||||
int i = 1;
|
||||
|
||||
// write file header
|
||||
cout << "// File made by FileToHeader, part of the Irrlicht Engine" << endl
|
||||
<< endl
|
||||
<< "#ifndef _EMBEDDED_FILES_H_INCLUDED_" << endl
|
||||
<< "#define _EMBEDDED_FILES_H_INCLUDED_" << endl
|
||||
<< endl
|
||||
<< "#include \"irrTypes.h\"" << endl
|
||||
<< "#include \"IReadFile.h\"" << endl
|
||||
<< "#include \"IFileSystem.h\"" << endl
|
||||
<< endl
|
||||
<< "namespace irr" << endl
|
||||
<< "{" << endl
|
||||
<< "namespace io" << endl
|
||||
<< "{" << endl
|
||||
<< endl
|
||||
<< " const c8* EmbeddedFileData[] = " << endl
|
||||
<< " {" << endl;
|
||||
|
||||
// store sizes and file names
|
||||
stringstream sizes;
|
||||
stringstream names;
|
||||
sizes << "const u32 EmbeddedFileSizes[] = {";
|
||||
names << "const c8* EmbeddedFileNames[] = {";
|
||||
int fileCount = 0;
|
||||
|
||||
// char to hex digit table, probably doesn't help for speed due to fstream. better than using sprintf though
|
||||
char hextable[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
||||
|
||||
while (i < argc)
|
||||
{
|
||||
// open and seek to end of file
|
||||
ifstream input;
|
||||
input.open(argv[i], ios::in | ios::binary | ios::ate);
|
||||
|
||||
if (input.is_open())
|
||||
{
|
||||
int size = input.tellg();
|
||||
input.seekg(0, ios::beg);
|
||||
// read the file into RAM
|
||||
char *entireFile = new char[size];
|
||||
input.read(entireFile, size);
|
||||
|
||||
if (fileCount)
|
||||
{
|
||||
sizes << ", ";
|
||||
names << ", ";
|
||||
cout << "," << endl;
|
||||
}
|
||||
|
||||
// save file size and name
|
||||
sizes << size;
|
||||
names << '"' << argv[i] << '"';
|
||||
|
||||
// write the file data
|
||||
cout << " \"";
|
||||
for (int count=0; count < size; ++count)
|
||||
{
|
||||
if (count && (count % 16) == 0)
|
||||
cout << "\"" << endl << " \"";
|
||||
|
||||
cout << "\\x" << hextable[(entireFile[count] >> 4) & 0xF] << hextable[entireFile[count] & 0x0F];
|
||||
}
|
||||
cout << "\"";
|
||||
|
||||
delete [] entireFile;
|
||||
//
|
||||
input.close();
|
||||
|
||||
fileCount++;
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "Failed to open file: " << argv[i] << endl;
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
|
||||
// close binary file list and write file metadata
|
||||
cout << endl
|
||||
<< " , 0};" << endl
|
||||
<< endl
|
||||
<< " const u32 EmbeddedFileCount = " << fileCount << ";" << endl
|
||||
<< " " << sizes.str() << "};" << endl
|
||||
<< " " << names.str() << "};" << endl
|
||||
<< endl;
|
||||
|
||||
// write functions to create embedded IReadFiles
|
||||
cout << " IReadFile* createEmbeddedFile(IFileSystem *fs, u32 index)" << endl
|
||||
<< " {" << endl
|
||||
<< " if (EmbeddedFileCount < index)" << endl
|
||||
<< " return 0;" << endl
|
||||
<< endl
|
||||
<< " return fs->createMemoryReadFile((void*)EmbeddedFileData[index], " << endl
|
||||
<< " EmbeddedFileSizes[index], EmbeddedFileNames[index]);" << endl
|
||||
<< " }" << endl
|
||||
<< endl
|
||||
<< " IReadFile* createEmbeddedFile(IFileSystem *fs, path filename)" << endl
|
||||
<< " {" << endl
|
||||
<< " for (u32 i=0; i < EmbeddedFileCount; ++i)" << endl
|
||||
<< " if (filename == EmbeddedFileNames[i])" << endl
|
||||
<< " return createEmbeddedFile(fs, i);" << endl
|
||||
<< endl
|
||||
<< " return 0;" << endl
|
||||
<< " }" << endl
|
||||
<< endl;
|
||||
|
||||
// write footer
|
||||
cout << "} // namespace io" << endl
|
||||
<< "} // namespace irr" << endl
|
||||
<< endl
|
||||
<< "#endif // _EMBEDDED_FILES_H_INCLUDED_" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,168 +0,0 @@
|
||||
/*
|
||||
This base class is used by the Attribute editor for making your own attribute types.
|
||||
|
||||
The attribute editor will try and create an attribute called "AttribType_attribute",
|
||||
and if it fails, it will create a "string_attribute".
|
||||
|
||||
*/
|
||||
|
||||
#ifndef __C_GUI_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIFont.h"
|
||||
#include "IGUIStaticText.h"
|
||||
#include "IAttributes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
||||
namespace gui
|
||||
{
|
||||
|
||||
const u32 ATTRIBEDIT_ATTRIB_CHANGED=MAKE_IRR_ID('A','T','T','R');
|
||||
|
||||
class CGUIAttribute : public IGUIElement
|
||||
{
|
||||
public:
|
||||
//! constructor
|
||||
CGUIAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
IGUIElement(EGUIET_ELEMENT, environment, parent, -1, core::rect<s32>(0, 0, 100, 100) ),
|
||||
AttribName(0), Attribs(0), Index(0), MyParentID(myParentID)
|
||||
{
|
||||
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIAttribute");
|
||||
#endif
|
||||
|
||||
AttribName = environment->addStaticText(0,
|
||||
core::rect<s32>(0, 0,
|
||||
100, Environment->getSkin()->getFont()->getDimension(L"A").Height),
|
||||
false, false, this, -1, false);
|
||||
AttribName->grab();
|
||||
AttribName->setSubElement(true);
|
||||
AttribName->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
}
|
||||
|
||||
virtual ~CGUIAttribute()
|
||||
{
|
||||
if (Attribs)
|
||||
Attribs->drop();
|
||||
if (AttribName)
|
||||
AttribName->drop();
|
||||
}
|
||||
|
||||
virtual bool OnEvent(const SEvent &e)
|
||||
{
|
||||
if (IsEnabled)
|
||||
{
|
||||
switch (e.EventType)
|
||||
{
|
||||
case EET_GUI_EVENT:
|
||||
switch (e.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_ELEMENT_FOCUSED:
|
||||
if (Parent && isMyChild(e.GUIEvent.Caller))
|
||||
Parent->bringToFront(this);
|
||||
break;
|
||||
case EGET_ELEMENT_HOVERED:
|
||||
case EGET_ELEMENT_LEFT:
|
||||
return IGUIElement::OnEvent(e);
|
||||
case EGET_ELEMENT_FOCUS_LOST:
|
||||
updateAttrib();
|
||||
return IGUIElement::OnEvent(e);
|
||||
default:
|
||||
return updateAttrib();
|
||||
}
|
||||
break;
|
||||
case EET_KEY_INPUT_EVENT:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return IGUIElement::OnEvent(e);
|
||||
}
|
||||
|
||||
//! sets the attribute to use
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
if (Attribs)
|
||||
Attribs->drop();
|
||||
Attribs = attribs;
|
||||
if (Attribs)
|
||||
Attribs->grab();
|
||||
Index = attribIndex;
|
||||
|
||||
core::stringw name(attribs->getAttributeName(attribIndex));
|
||||
name += L" (";
|
||||
name += attribs->getAttributeTypeString(attribIndex);
|
||||
name += L")";
|
||||
AttribName->setText(name.c_str());
|
||||
|
||||
core::rect<s32> r = Parent->getAbsolutePosition();
|
||||
core::rect<s32> r2(0, 5,
|
||||
r.getWidth(), Environment->getSkin()->getFont()->getDimension(L"A").Height + 10 );
|
||||
|
||||
AttribName->setRelativePosition(r2);
|
||||
|
||||
// get minimum height
|
||||
s32 y=0;
|
||||
core::list<IGUIElement*>::Iterator it = Children.begin();
|
||||
for (; it != Children.end(); ++it)
|
||||
{
|
||||
if (y < (*it)->getRelativePosition().LowerRightCorner.Y)
|
||||
y = (*it)->getRelativePosition().LowerRightCorner.Y;
|
||||
}
|
||||
setMinSize( core::dimension2du(0, y+5));
|
||||
|
||||
updateAttrib(false);
|
||||
}
|
||||
|
||||
//! sets the parent ID, for identifying where events came from
|
||||
void setParentID(s32 parentID)
|
||||
{
|
||||
MyParentID = parentID;
|
||||
}
|
||||
|
||||
//! save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (Attribs && IsEnabled && sendEvent)
|
||||
{
|
||||
// build event and pass to parent
|
||||
SEvent event;
|
||||
event.EventType = (EEVENT_TYPE)ATTRIBEDIT_ATTRIB_CHANGED;
|
||||
event.UserEvent.UserData1 = MyParentID;
|
||||
event.UserEvent.UserData2 = Index;
|
||||
return Parent->OnEvent(event);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0)
|
||||
{
|
||||
IGUIElement::serializeAttributes(out, options);
|
||||
}
|
||||
|
||||
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0)
|
||||
{
|
||||
IGUIElement::deserializeAttributes(in, options);
|
||||
if (AttribName)
|
||||
AttribName->setText(Text.c_str());
|
||||
}
|
||||
|
||||
protected:
|
||||
IGUIStaticText* AttribName;
|
||||
io::IAttributes* Attribs;
|
||||
u32 Index;
|
||||
s32 MyParentID;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,119 +0,0 @@
|
||||
|
||||
#include "CGUIAttributeEditor.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "IAttributes.h"
|
||||
#include "IGUIFont.h"
|
||||
#include "IGUIScrollBar.h"
|
||||
#include "CGUIAttribute.h"
|
||||
#include "CGUIStringAttribute.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
using namespace core;
|
||||
using namespace io;
|
||||
|
||||
CGUIAttributeEditor::CGUIAttributeEditor(IGUIEnvironment* environment, s32 id, IGUIElement *parent) :
|
||||
CGUIPanel(environment, parent, id, rect<s32>(0, 0, 100, 100)),
|
||||
Attribs(0), Panel(0)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIAttributeEditor");
|
||||
#endif
|
||||
|
||||
// create attributes
|
||||
Attribs = environment->getFileSystem()->createEmptyAttributes(Environment->getVideoDriver());
|
||||
|
||||
calculateClientArea();
|
||||
resizeInnerPane();
|
||||
|
||||
// refresh attrib list
|
||||
refreshAttribs();
|
||||
|
||||
IGUIScrollBar* sb = getVScrollBar();
|
||||
core::rect<s32> r = sb->getRelativePosition();
|
||||
r.LowerRightCorner.Y -= 16;
|
||||
sb->setRelativePosition(r);
|
||||
}
|
||||
|
||||
CGUIAttributeEditor::~CGUIAttributeEditor()
|
||||
{
|
||||
for (u32 i=0; i<AttribList.size(); ++i)
|
||||
{
|
||||
AttribList[i]->remove();
|
||||
AttribList[i]->drop();
|
||||
}
|
||||
AttribList.clear();
|
||||
|
||||
Attribs->drop();
|
||||
}
|
||||
|
||||
|
||||
IAttributes* CGUIAttributeEditor::getAttribs()
|
||||
{
|
||||
return Attribs;
|
||||
}
|
||||
|
||||
void CGUIAttributeEditor::refreshAttribs()
|
||||
{
|
||||
// clear the attribute list
|
||||
u32 i;
|
||||
for (i=0; i<AttribList.size(); ++i)
|
||||
{
|
||||
AttribList[i]->remove();
|
||||
AttribList[i]->drop();
|
||||
}
|
||||
AttribList.clear();
|
||||
|
||||
position2di top(10, 5);
|
||||
rect<s32> r(top.X, top.Y,
|
||||
getClientArea().getWidth() - 10,
|
||||
5 + Environment->getSkin()->getFont()->getDimension(L"A").Height);
|
||||
|
||||
// add attribute elements
|
||||
u32 c = Attribs->getAttributeCount();
|
||||
for (i=0; i<c; ++i)
|
||||
{
|
||||
|
||||
// try to create attribute
|
||||
stringc str = Attribs->getAttributeTypeString(i);
|
||||
str += "_attribute";
|
||||
CGUIAttribute* n = (CGUIAttribute*)Environment->addGUIElement(str.c_str(), 0);
|
||||
|
||||
// if this doesn't exist, use a string editor
|
||||
if (!n)
|
||||
n = (CGUIAttribute*)Environment->addGUIElement("string_attribute", 0);
|
||||
|
||||
if (n)
|
||||
{
|
||||
AttribList.push_back(n);
|
||||
n->setParentID(getID());
|
||||
n->grab();
|
||||
}
|
||||
|
||||
// We can't set "this" as parent above as we need functionality
|
||||
// of the overloaded addChild which isn't called in the constructor.
|
||||
// (that's a general Irrlicht messup with too fat constructors)
|
||||
addChild(n);
|
||||
|
||||
AttribList[i]->setSubElement(true);
|
||||
AttribList[i]->setRelativePosition(r);
|
||||
AttribList[i]->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
AttribList[i]->setAttrib(Attribs, i);
|
||||
r += position2di(0, AttribList[i]->getRelativePosition().getHeight() + 5);
|
||||
}
|
||||
}
|
||||
|
||||
void CGUIAttributeEditor::updateAttribs()
|
||||
{
|
||||
for (u32 i=0; i<AttribList.size(); ++i)
|
||||
AttribList[i]->updateAttrib(false);
|
||||
}
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
@ -1,54 +0,0 @@
|
||||
#ifndef __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
|
||||
#define __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "CGUIPanel.h"
|
||||
#include "irrArray.h"
|
||||
#include "IAttributes.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class CGUIAttribute;
|
||||
|
||||
|
||||
class CGUIAttributeEditor : public CGUIPanel
|
||||
{
|
||||
public:
|
||||
|
||||
//! constructor
|
||||
CGUIAttributeEditor(IGUIEnvironment* environment, s32 id, IGUIElement *parent=0);
|
||||
|
||||
//! destructor
|
||||
~CGUIAttributeEditor();
|
||||
|
||||
// gets the current attributes list
|
||||
virtual io::IAttributes* getAttribs();
|
||||
|
||||
// update the attribute list after making a change
|
||||
void refreshAttribs();
|
||||
|
||||
// save the attributes
|
||||
void updateAttribs();
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_ATTRIBUTEEDITOR];
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
core::array<CGUIAttribute*> AttribList; // attributes editing controls
|
||||
io::IAttributes* Attribs; // current attributes
|
||||
CGUIPanel* Panel;
|
||||
};
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
||||
#endif // __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
|
||||
|
@ -1,68 +0,0 @@
|
||||
#ifndef __C_GUI_BOOL_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_BOOL_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "CGUIAttribute.h"
|
||||
#include "IGUICheckBox.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class CGUIBoolAttribute : public CGUIAttribute
|
||||
{
|
||||
public:
|
||||
//
|
||||
CGUIBoolAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
CGUIAttribute(environment, parent, myParentID), AttribCheckBox(0)
|
||||
{
|
||||
|
||||
core::rect<s32> r = getAbsolutePosition();
|
||||
core::rect<s32> r2(0, Environment->getSkin()->getFont()->getDimension(L"A").Height + 10,
|
||||
r.getWidth() - 5,
|
||||
Environment->getSkin()->getFont()->getDimension(L"A").Height*2 + 15 );
|
||||
|
||||
AttribCheckBox = environment->addCheckBox(false, r2, this);
|
||||
AttribCheckBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
AttribCheckBox->setSubElement(true);
|
||||
AttribCheckBox->grab();
|
||||
}
|
||||
|
||||
virtual ~CGUIBoolAttribute()
|
||||
{
|
||||
if (AttribCheckBox)
|
||||
AttribCheckBox->drop();
|
||||
}
|
||||
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
AttribCheckBox->setChecked(attribs->getAttributeAsBool(attribIndex));
|
||||
CGUIAttribute::setAttrib(attribs, attribIndex);
|
||||
}
|
||||
|
||||
// save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (!Attribs)
|
||||
return true;
|
||||
|
||||
Attribs->setAttribute(Index, AttribCheckBox->isChecked());
|
||||
|
||||
return CGUIAttribute::updateAttrib(sendEvent);
|
||||
}
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_BOOLATTRIBUTE];
|
||||
}
|
||||
|
||||
private:
|
||||
IGUICheckBox* AttribCheckBox;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,179 +0,0 @@
|
||||
#ifndef __C_GUI_COLOR_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_COLOR_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "CGUIAttribute.h"
|
||||
#include "IGUIStaticText.h"
|
||||
#include "IGUIScrollBar.h"
|
||||
#include "IGUITabControl.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
class CGUIColorAttribute : public CGUIAttribute
|
||||
{
|
||||
public:
|
||||
//
|
||||
CGUIColorAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
CGUIAttribute(environment, parent, myParentID),
|
||||
AttribSliderA(0), AttribSliderR(0), AttribSliderG(0), AttribSliderB(0),
|
||||
AttribEditBox(0), AttribColor(0)
|
||||
{
|
||||
s32 fh = Environment->getSkin()->getFont()->getDimension(L"A").Height;
|
||||
|
||||
core::rect<s32> r0(getAbsolutePosition()),
|
||||
r2(0, fh + 5, r0.getWidth() - 5, fh*2 + 10 ),
|
||||
r3(r2),
|
||||
r4(r2.getWidth() - 20, 3, r2.getWidth() - 3, r2.getHeight()-3);
|
||||
|
||||
AttribColor = Environment->addTab(r4, this, 0);
|
||||
AttribColor->grab();
|
||||
AttribColor->setDrawBackground(true);
|
||||
AttribColor->setSubElement(true);
|
||||
AttribColor->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
|
||||
s32 h=2;
|
||||
r2 += core::position2di(0, h*4 + Environment->getSkin()->getSize(EGDS_WINDOW_BUTTON_WIDTH)*2);
|
||||
r3.LowerRightCorner.Y = r3.UpperLeftCorner.Y + Environment->getSkin()->getSize(EGDS_WINDOW_BUTTON_WIDTH)/2;
|
||||
|
||||
AttribSliderA = environment->addScrollBar(true, r3, this, -1);
|
||||
AttribSliderA->setMax(255);
|
||||
AttribSliderA->grab();
|
||||
AttribSliderA->setSubElement(true);
|
||||
AttribSliderA->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
r3 += core::position2di(0, r3.getHeight()+h);
|
||||
AttribSliderR = environment->addScrollBar(true, r3, this, -1);
|
||||
AttribSliderR->setMax(255);
|
||||
AttribSliderR->grab();
|
||||
AttribSliderR->setSubElement(true);
|
||||
AttribSliderR->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
r3 += core::position2di(0, r3.getHeight()+h);
|
||||
AttribSliderG = environment->addScrollBar(true, r3, this, -1);
|
||||
AttribSliderG->setMax(255);
|
||||
AttribSliderG->grab();
|
||||
AttribSliderG->setSubElement(true);
|
||||
AttribSliderG->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
r3 += core::position2di(0, r3.getHeight()+h);
|
||||
AttribSliderB = environment->addScrollBar(true, r3, this, -1);
|
||||
AttribSliderB->setMax(255);
|
||||
AttribSliderB->grab();
|
||||
AttribSliderB->setSubElement(true);
|
||||
AttribSliderB->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
|
||||
// add editbox
|
||||
AttribEditBox = environment->addEditBox(
|
||||
L"",
|
||||
r2,
|
||||
true, this, -1);
|
||||
AttribEditBox->grab();
|
||||
AttribEditBox->setSubElement(true);
|
||||
AttribEditBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
}
|
||||
|
||||
virtual ~CGUIColorAttribute()
|
||||
{
|
||||
if (AttribSliderA)
|
||||
AttribSliderA->drop();
|
||||
if (AttribSliderR)
|
||||
AttribSliderR->drop();
|
||||
if (AttribSliderG)
|
||||
AttribSliderG->drop();
|
||||
if (AttribSliderB)
|
||||
AttribSliderB->drop();
|
||||
if (AttribEditBox)
|
||||
AttribEditBox->drop();
|
||||
if (AttribColor)
|
||||
AttribColor->drop();
|
||||
}
|
||||
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
video::SColor col = attribs->getAttributeAsColor(attribIndex);
|
||||
|
||||
AttribSliderA->setPos(col.getAlpha());
|
||||
AttribSliderR->setPos(col.getRed());
|
||||
AttribSliderG->setPos(col.getGreen());
|
||||
AttribSliderB->setPos(col.getBlue());
|
||||
AttribEditBox->setText( attribs->getAttributeAsStringW(attribIndex).c_str() );
|
||||
AttribColor->setBackgroundColor(col);
|
||||
|
||||
CGUIAttribute::setAttrib(attribs, attribIndex);
|
||||
}
|
||||
|
||||
virtual bool OnEvent(const SEvent &e)
|
||||
{
|
||||
switch (e.EventType)
|
||||
{
|
||||
|
||||
case EET_GUI_EVENT:
|
||||
switch (e.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_EDITBOX_ENTER:
|
||||
case EGET_ELEMENT_FOCUS_LOST:
|
||||
if (e.GUIEvent.Caller == AttribEditBox)
|
||||
{
|
||||
// update scrollbars from textbox
|
||||
Attribs->setAttribute(Index, AttribEditBox->getText());
|
||||
video::SColor col = Attribs->getAttributeAsColor(Index);
|
||||
AttribSliderA->setPos(col.getAlpha());
|
||||
AttribSliderR->setPos(col.getRed());
|
||||
AttribSliderG->setPos(col.getGreen());
|
||||
AttribSliderB->setPos(col.getBlue());
|
||||
// update colour
|
||||
AttribColor->setBackgroundColor(col);
|
||||
}
|
||||
break;
|
||||
case EGET_SCROLL_BAR_CHANGED:
|
||||
{
|
||||
// update editbox from scrollbars
|
||||
video::SColor col( AttribSliderA->getPos(), AttribSliderR->getPos(),
|
||||
AttribSliderG->getPos(), AttribSliderB->getPos());
|
||||
|
||||
Attribs->setAttribute(Index, col);
|
||||
AttribEditBox->setText( Attribs->getAttributeAsStringW(Index).c_str());
|
||||
// update colour
|
||||
AttribColor->setBackgroundColor(col);
|
||||
}
|
||||
return updateAttrib();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return CGUIAttribute::OnEvent(e);
|
||||
}
|
||||
|
||||
// save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (!Attribs)
|
||||
return true;
|
||||
|
||||
Attribs->setAttribute(Index, AttribEditBox->getText());
|
||||
AttribEditBox->setText(Attribs->getAttributeAsStringW(Index).c_str());
|
||||
return CGUIAttribute::updateAttrib(sendEvent);
|
||||
}
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_COLORATTRIBUTE];
|
||||
}
|
||||
|
||||
private:
|
||||
IGUIScrollBar* AttribSliderA;
|
||||
IGUIScrollBar* AttribSliderR;
|
||||
IGUIScrollBar* AttribSliderG;
|
||||
IGUIScrollBar* AttribSliderB;
|
||||
IGUIEditBox* AttribEditBox;
|
||||
IGUITab* AttribColor;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
||||
|
@ -1,59 +0,0 @@
|
||||
/*
|
||||
This is a custom editor for stubbing problematic elements out,
|
||||
for example elements which include modal screens
|
||||
*/
|
||||
|
||||
#ifndef __C_GUI_DUMMY_EDITOR_STUB_H_INCLUDED__
|
||||
#define __C_GUI_DUMMY_EDITOR_STUB_H_INCLUDED__
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIStaticText.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
||||
namespace gui
|
||||
{
|
||||
class CGUIDummyEditorStub : public IGUIElement
|
||||
{
|
||||
public:
|
||||
//! constructor
|
||||
CGUIDummyEditorStub(IGUIEnvironment* environment, IGUIElement *parent, const char *text) :
|
||||
IGUIElement(EGUIET_ELEMENT, environment, parent, -1, core::rect<s32>(0, 0, 100, 100) ),
|
||||
TextBox(0), TypeName(text)
|
||||
{
|
||||
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIDummyEditorStub");
|
||||
#endif
|
||||
|
||||
core::dimension2du d = Environment->getSkin()->getFont()->getDimension(L"A");
|
||||
s32 h = d.Height / 2;
|
||||
s32 w = d.Width / 2;
|
||||
|
||||
TextBox = environment->addStaticText(core::stringw(text).c_str(),
|
||||
core::rect<s32>(50-w, 50-h, 50+w, 50+h),
|
||||
false, false, this, -1, false);
|
||||
TextBox->grab();
|
||||
TextBox->setSubElement(true);
|
||||
TextBox->setAlignment(EGUIA_CENTER, EGUIA_CENTER, EGUIA_CENTER, EGUIA_CENTER);
|
||||
}
|
||||
|
||||
virtual ~CGUIDummyEditorStub()
|
||||
{
|
||||
if (TextBox)
|
||||
TextBox->drop();
|
||||
}
|
||||
virtual const c8* getTypeName() const { return TypeName.c_str(); }
|
||||
|
||||
protected:
|
||||
IGUIStaticText* TextBox;
|
||||
core::stringc TypeName;
|
||||
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,120 +0,0 @@
|
||||
#include "CGUIEditFactory.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "irrString.h"
|
||||
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
#include "CGUIEditWorkspace.h"
|
||||
#include "CGUIEditWindow.h"
|
||||
#include "CGUIPanel.h"
|
||||
#include "CGUITextureCacheBrowser.h"
|
||||
#include "CGUIAttributeEditor.h"
|
||||
#include "CGUIStringAttribute.h"
|
||||
#include "CGUIBoolAttribute.h"
|
||||
#include "CGUIEnumAttribute.h"
|
||||
#include "CGUIColorAttribute.h"
|
||||
#include "CGUITextureAttribute.h"
|
||||
#include "CGUIDummyEditorStub.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
CGUIEditFactory::CGUIEditFactory(IGUIEnvironment* env)
|
||||
: Environment(env)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIEditFactory");
|
||||
#endif
|
||||
|
||||
// don't grab the gui environment here to prevent cyclic references
|
||||
}
|
||||
|
||||
|
||||
CGUIEditFactory::~CGUIEditFactory()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//! adds an element to the environment based on its type name
|
||||
IGUIElement* CGUIEditFactory::addGUIElement(const c8* typeName, IGUIElement* parent)
|
||||
{
|
||||
/*
|
||||
here we create elements, add them to the manager, and then drop them
|
||||
*/
|
||||
|
||||
core::stringc elementType(typeName);
|
||||
IGUIElement* ret=0;
|
||||
if (!parent)
|
||||
parent = Environment->getRootGUIElement();
|
||||
|
||||
// editor workspace
|
||||
if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_GUIEDIT]))
|
||||
ret = new CGUIEditWorkspace(Environment, -1, 0);
|
||||
// editor window
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_GUIEDITWINDOW]))
|
||||
ret = new CGUIEditWindow(Environment, core::rect<s32>(0,0,100,100), 0);
|
||||
// Klasker's GUI Panel
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_GUIPANEL]))
|
||||
ret = new CGUIPanel(Environment, 0);
|
||||
// texture cache browser
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_TEXTUREBROWSER]))
|
||||
ret = new CGUITextureCacheBrowser(Environment, -1, 0);
|
||||
// block of attribute editors
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_ATTRIBUTEEDITOR]))
|
||||
ret = new CGUIAttributeEditor(Environment, -1, 0);
|
||||
//! single attribute editors
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_STRINGATTRIBUTE]))
|
||||
ret = new CGUIStringAttribute(Environment, 0, -1);
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_BOOLATTRIBUTE]))
|
||||
ret = new CGUIBoolAttribute(Environment, 0, -1);
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_ENUMATTRIBUTE]))
|
||||
ret = new CGUIEnumAttribute(Environment, 0, -1);
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_COLORATTRIBUTE]))
|
||||
ret = new CGUIColorAttribute(Environment, 0, -1);
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_COLORFATTRIBUTE]))
|
||||
ret = new CGUIColorAttribute(Environment, 0, -1);
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_TEXTUREATTRIBUTE]))
|
||||
ret = new CGUITextureAttribute(Environment, 0, -1);
|
||||
// stubs and custom editors
|
||||
else if (elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_CONTEXTMENUEDITOR]) ||
|
||||
elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_MENUEDITOR]) ||
|
||||
elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_FILEDIALOGEDITOR]) ||
|
||||
elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_COLORDIALOGEDITOR]) ||
|
||||
elementType == core::stringc(GUIEditElementTypeNames[EGUIEDIT_MODALSCREENEDITOR]) )
|
||||
ret = new CGUIDummyEditorStub(Environment, 0, typeName);
|
||||
|
||||
// add the element to its parent
|
||||
if (ret)
|
||||
parent->addChild(ret);
|
||||
|
||||
// the environment now has the reference, so we can drop the element
|
||||
if (ret)
|
||||
ret->drop();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
//! returns amount of element types this factory is able to create
|
||||
s32 CGUIEditFactory::getCreatableGUIElementTypeCount() const
|
||||
{
|
||||
return EGUIEDIT_COUNT;
|
||||
}
|
||||
|
||||
|
||||
//! returns type name of a creatable element type
|
||||
const c8* CGUIEditFactory::getCreateableGUIElementTypeName(s32 idx) const
|
||||
{
|
||||
if (idx>=0 && idx<EGUIEDIT_COUNT)
|
||||
return GUIEditElementTypeNames[idx];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
@ -1,53 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#ifndef __C_GUIEDIT_FACTORY_H_INCLUDED__
|
||||
#define __C_GUIEDIT_FACTORY_H_INCLUDED__
|
||||
|
||||
#include "IGUIElementFactory.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
class IGUIElement;
|
||||
class IGUIEnvironment;
|
||||
|
||||
//! Interface making it possible to dynamicly create gui elements
|
||||
class CGUIEditFactory : public IGUIElementFactory
|
||||
{
|
||||
public:
|
||||
|
||||
CGUIEditFactory(IGUIEnvironment* env);
|
||||
~CGUIEditFactory();
|
||||
|
||||
//! adds a GUI element to the GUI Environment based on its type name
|
||||
/** \param typeName: Type name of the element to add.
|
||||
\param parent: Parent scene node of the new element, can be null to add it to the root.
|
||||
\return Returns pointer to the new element or null if not successful. */
|
||||
virtual IGUIElement* addGUIElement(const c8* typeName, IGUIElement* parent=0);
|
||||
|
||||
//! returns amount of GUI element types this factory is able to create
|
||||
virtual s32 getCreatableGUIElementTypeCount() const;
|
||||
|
||||
//! returns type name of a creatable GUI element type by index
|
||||
/** \param idx: Index of the type in this factory. Must be a value between 0 and
|
||||
getCreatableGUIElementTypeCount() */
|
||||
virtual const c8* getCreateableGUIElementTypeName(s32 idx) const;
|
||||
|
||||
// not used:
|
||||
virtual const c8* getCreateableGUIElementTypeName(EGUI_ELEMENT_TYPE type) const {return 0;} ;
|
||||
virtual EGUI_ELEMENT_TYPE getCreateableGUIElementType(s32 idx) const { return EGUIET_ELEMENT;};
|
||||
virtual IGUIElement* addGUIElement(EGUI_ELEMENT_TYPE type, IGUIElement* parent=0) {return 0;};
|
||||
private:
|
||||
|
||||
IGUIEnvironment* Environment;
|
||||
};
|
||||
|
||||
|
||||
} // end namespace scene
|
||||
} // end namespace irr
|
||||
|
||||
#endif
|
||||
|
@ -1,358 +0,0 @@
|
||||
|
||||
#include "CGUIEditWindow.h"
|
||||
#include "IGUISkin.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIElementFactory.h"
|
||||
#include "IAttributes.h"
|
||||
#include "IGUIFont.h"
|
||||
#include "IGUITabControl.h"
|
||||
#include "IGUITreeView.h"
|
||||
#include "CGUIEditWorkspace.h"
|
||||
|
||||
using namespace irr;
|
||||
using namespace gui;
|
||||
|
||||
//! constructor
|
||||
CGUIEditWindow::CGUIEditWindow(IGUIEnvironment* environment, core::rect<s32> rectangle, IGUIElement *parent)
|
||||
: IGUIWindow(environment, parent, -1, rectangle),
|
||||
Dragging(false), IsDraggable(true), Resizing(false), SelectedElement(0),
|
||||
AttribEditor(0), OptionEditor(0), EnvEditor(0)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIEditWindow");
|
||||
#endif
|
||||
|
||||
// we can't tab out of this window
|
||||
setTabGroup(true);
|
||||
// we can ctrl+tab to it
|
||||
setTabStop(true);
|
||||
// the tab order number is auto-assigned
|
||||
setTabOrder(-1);
|
||||
|
||||
// set window text
|
||||
setText(L"GUI Editor");
|
||||
|
||||
// return if we have no skin.
|
||||
IGUISkin *skin = environment->getSkin();
|
||||
if (!skin)
|
||||
return;
|
||||
|
||||
core::rect<s32> dlgRect(50,50,250,500);
|
||||
setRelativePosition(dlgRect);
|
||||
setMinSize(core::dimension2du(200,200));
|
||||
|
||||
s32 th = skin->getSize(EGDS_WINDOW_BUTTON_WIDTH);
|
||||
IGUITabControl *TabControl = environment->addTabControl(core::rect<s32>(1,th+5,dlgRect.getWidth()-1,dlgRect.getHeight()-1), this, false, true);
|
||||
TabControl->setSubElement(true);
|
||||
TabControl->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
|
||||
//TabControl->addTab(L"Tools");
|
||||
//L"Texture Cache Browser"
|
||||
//L"Font Browser"
|
||||
//L"Font Generator"
|
||||
//L"Sprite Editor"
|
||||
//Environment->addGUIElement("textureCacheBrowser", this);
|
||||
|
||||
IGUITab* EditorTab = TabControl->addTab(L"Editor");
|
||||
OptionEditor = (CGUIAttributeEditor*) environment->addGUIElement("attributeEditor", EditorTab);
|
||||
OptionEditor->grab();
|
||||
OptionEditor->setID(EGUIEDCE_OPTION_EDITOR);
|
||||
OptionEditor->setRelativePositionProportional(core::rect<f32>(0.0f, 0.0f, 1.0f, 1.0f));
|
||||
OptionEditor->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
|
||||
if (Parent && Parent->getParent() == Environment->getRootGUIElement())
|
||||
{
|
||||
IGUITab* EnvTab = TabControl->addTab(L"Env");
|
||||
EnvEditor = (CGUIAttributeEditor*) environment->addGUIElement("attributeEditor", EnvTab);
|
||||
EnvEditor->grab();
|
||||
EnvEditor->setID(EGUIEDCE_ENV_EDITOR);
|
||||
EnvEditor->setRelativePositionProportional(core::rect<f32>(0.0f, 0.0f, 1.0f, 1.0f));
|
||||
EnvEditor->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
}
|
||||
IGUITab* ElementTab = TabControl->addTab(L"Element");
|
||||
|
||||
AttribEditor = (CGUIAttributeEditor*) environment->addGUIElement("attributeEditor", ElementTab);
|
||||
AttribEditor->grab();
|
||||
AttribEditor->setID(EGUIEDCE_ATTRIB_EDITOR);
|
||||
AttribEditor->setRelativePositionProportional(core::rect<f32>(0.0f, 0.0f, 1.0f, 1.0f));
|
||||
AttribEditor->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
|
||||
IGUITab* TreeTab = TabControl->addTab(L"Tree");
|
||||
TreeView = environment->addTreeView(core::rect<s32>(0,0,0,0), TreeTab);
|
||||
TreeView->setRelativePositionProportional(core::rect<f32>(0.0f, 0.0f, 1.0f, 1.0f));
|
||||
TreeView->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
IGUITreeViewNode* treenode = TreeView->getRoot();
|
||||
//treenode->addChildFront(L"Elements");
|
||||
|
||||
ResizeButton = environment->addButton(core::rect<s32>(dlgRect.getWidth()-(th+1),dlgRect.getHeight()-(th+1),dlgRect.getWidth()-1,dlgRect.getHeight()-1), this);
|
||||
ResizeButton->setDrawBorder(false);
|
||||
ResizeButton->setEnabled(false);
|
||||
ResizeButton->setSpriteBank(skin->getSpriteBank());
|
||||
ResizeButton->setSprite(EGBS_BUTTON_UP, skin->getIcon(EGDI_WINDOW_RESIZE), skin->getColor(EGDC_WINDOW_SYMBOL));
|
||||
ResizeButton->setSprite(EGBS_BUTTON_DOWN, skin->getIcon(EGDI_WINDOW_RESIZE), skin->getColor(EGDC_WINDOW_SYMBOL));
|
||||
ResizeButton->grab();
|
||||
ResizeButton->setSubElement(true);
|
||||
ResizeButton->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT);
|
||||
|
||||
updateTree();
|
||||
}
|
||||
|
||||
|
||||
//! destructor
|
||||
CGUIEditWindow::~CGUIEditWindow()
|
||||
{
|
||||
// drop everything
|
||||
if (AttribEditor)
|
||||
AttribEditor->drop();
|
||||
if (EnvEditor)
|
||||
EnvEditor->drop();
|
||||
if (OptionEditor)
|
||||
OptionEditor->drop();
|
||||
if (ResizeButton)
|
||||
ResizeButton->drop();
|
||||
}
|
||||
|
||||
IGUITreeView* CGUIEditWindow::getTreeView() const
|
||||
{
|
||||
return TreeView;
|
||||
}
|
||||
CGUIAttributeEditor* CGUIEditWindow::getEnvironmentEditor() const
|
||||
{
|
||||
return EnvEditor;
|
||||
}
|
||||
|
||||
CGUIAttributeEditor* CGUIEditWindow::getAttributeEditor() const
|
||||
{
|
||||
return AttribEditor;
|
||||
}
|
||||
|
||||
CGUIAttributeEditor* CGUIEditWindow::getOptionEditor() const
|
||||
{
|
||||
return OptionEditor;
|
||||
}
|
||||
|
||||
IGUITreeViewNode* CGUIEditWindow::getTreeNode(IGUIElement* element, IGUITreeViewNode* searchnode)
|
||||
{
|
||||
IGUITreeViewNode* child = searchnode->getFirstChild();
|
||||
while (child)
|
||||
{
|
||||
if (((IGUIElement*) child->getData()) == element)
|
||||
return child;
|
||||
|
||||
if (child->hasChildren())
|
||||
{
|
||||
IGUITreeViewNode* foundnode = getTreeNode(element, child);
|
||||
if (foundnode)
|
||||
return foundnode;
|
||||
}
|
||||
child = child->getNextSibling();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CGUIEditWindow::addChildrenToTree(IGUIElement* parentElement, IGUITreeViewNode* treenode)
|
||||
{
|
||||
core::stringw name = core::stringw(parentElement->getTypeName());
|
||||
if (parentElement->getID() != -1)
|
||||
name += core::stringw(L" [") + core::stringw(parentElement->getID()) + core::stringw(L"]");
|
||||
|
||||
IGUITreeViewNode* newnode = treenode->addChildBack(name.c_str());
|
||||
newnode->setData((void*)parentElement);
|
||||
core::list<IGUIElement*> children = parentElement->getChildren();
|
||||
|
||||
for (core::list<IGUIElement*>::Iterator i = children.begin(); i != children.end(); i++ )
|
||||
{
|
||||
if(core::stringc((*i)->getTypeName()) != "GUIEditor" && !(*i)->isSubElement())
|
||||
addChildrenToTree(*i, newnode);
|
||||
}
|
||||
}
|
||||
|
||||
void CGUIEditWindow::updateTree()
|
||||
{
|
||||
TreeView->getRoot()->clearChildren();
|
||||
IGUIElement* root = Environment->getRootGUIElement();
|
||||
addChildrenToTree(root, TreeView->getRoot());
|
||||
TreeView->getRoot()->getFirstChild()->setExpanded(true);
|
||||
}
|
||||
|
||||
void CGUIEditWindow::setSelectedElement(IGUIElement *sel)
|
||||
{
|
||||
// save changes
|
||||
AttribEditor->updateAttribs();
|
||||
IGUITreeViewNode* elementTreeNode = getTreeNode(sel, TreeView->getRoot());
|
||||
|
||||
if (elementTreeNode)
|
||||
{
|
||||
elementTreeNode->setSelected(true);
|
||||
while (elementTreeNode)
|
||||
{
|
||||
elementTreeNode->setExpanded(true);
|
||||
elementTreeNode = elementTreeNode->getParent();
|
||||
}
|
||||
}
|
||||
|
||||
io::IAttributes* Attribs = AttribEditor->getAttribs();
|
||||
|
||||
if (SelectedElement && sel != SelectedElement)
|
||||
{
|
||||
// deserialize attributes
|
||||
SelectedElement->deserializeAttributes(Attribs);
|
||||
}
|
||||
// clear the attributes list
|
||||
Attribs->clear();
|
||||
SelectedElement = sel;
|
||||
|
||||
// get the new attributes
|
||||
if (SelectedElement)
|
||||
SelectedElement->serializeAttributes(Attribs);
|
||||
|
||||
AttribEditor->refreshAttribs();
|
||||
}
|
||||
|
||||
//! draws the element and its children.
|
||||
//! same code as for a window
|
||||
void CGUIEditWindow::draw()
|
||||
{
|
||||
if (!IsVisible)
|
||||
return;
|
||||
|
||||
IGUISkin* skin = Environment->getSkin();
|
||||
|
||||
core::rect<s32> rect = AbsoluteRect;
|
||||
|
||||
// draw body fast
|
||||
rect = skin->draw3DWindowBackground(this, true, skin->getColor(EGDC_ACTIVE_BORDER),
|
||||
AbsoluteRect, &AbsoluteClippingRect);
|
||||
|
||||
if (Text.size())
|
||||
{
|
||||
rect.UpperLeftCorner.X += skin->getSize(EGDS_TEXT_DISTANCE_X);
|
||||
rect.UpperLeftCorner.Y += skin->getSize(EGDS_TEXT_DISTANCE_Y);
|
||||
rect.LowerRightCorner.X -= skin->getSize(EGDS_WINDOW_BUTTON_WIDTH) + 5;
|
||||
|
||||
IGUIFont* font = skin->getFont();
|
||||
if (font)
|
||||
font->draw(Text.c_str(), rect, skin->getColor(EGDC_ACTIVE_CAPTION), false, true, &AbsoluteClippingRect);
|
||||
}
|
||||
|
||||
IGUIElement::draw();
|
||||
}
|
||||
|
||||
|
||||
//! called if an event happened.
|
||||
bool CGUIEditWindow::OnEvent(const SEvent &event)
|
||||
{
|
||||
switch(event.EventType)
|
||||
{
|
||||
case EET_GUI_EVENT:
|
||||
switch(event.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_ELEMENT_FOCUS_LOST:
|
||||
if (event.GUIEvent.Caller == this ||
|
||||
event.GUIEvent.Caller == ResizeButton)
|
||||
{
|
||||
Dragging = false;
|
||||
Resizing = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case EET_MOUSE_INPUT_EVENT:
|
||||
switch(event.MouseInput.Event)
|
||||
{
|
||||
case EMIE_LMOUSE_PRESSED_DOWN:
|
||||
{
|
||||
DragStart.X = event.MouseInput.X;
|
||||
DragStart.Y = event.MouseInput.Y;
|
||||
|
||||
IGUIElement* clickedElement = getElementFromPoint(DragStart);
|
||||
|
||||
if (clickedElement == this)
|
||||
{
|
||||
Dragging = IsDraggable;
|
||||
//Environment->setFocus(this);
|
||||
if (Parent)
|
||||
Parent->bringToFront(this);
|
||||
return true;
|
||||
}
|
||||
else if (clickedElement == ResizeButton)
|
||||
{
|
||||
Resizing = true;
|
||||
//Environment->setFocus(this);
|
||||
if (Parent)
|
||||
Parent->bringToFront(this);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EMIE_LMOUSE_LEFT_UP:
|
||||
if (Dragging || Resizing)
|
||||
{
|
||||
Dragging = false;
|
||||
Resizing = false;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case EMIE_MOUSE_MOVED:
|
||||
if (Dragging || Resizing)
|
||||
{
|
||||
// gui window should not be dragged outside of its parent
|
||||
if (Parent)
|
||||
if (event.MouseInput.X < Parent->getAbsolutePosition().UpperLeftCorner.X +1 ||
|
||||
event.MouseInput.Y < Parent->getAbsolutePosition().UpperLeftCorner.Y +1 ||
|
||||
event.MouseInput.X > Parent->getAbsolutePosition().LowerRightCorner.X -1 ||
|
||||
event.MouseInput.Y > Parent->getAbsolutePosition().LowerRightCorner.Y -1)
|
||||
|
||||
return true;
|
||||
core::position2di diff(event.MouseInput.X - DragStart.X, event.MouseInput.Y - DragStart.Y);
|
||||
if (Dragging)
|
||||
{
|
||||
move(diff);
|
||||
DragStart.X = event.MouseInput.X;
|
||||
DragStart.Y = event.MouseInput.Y;
|
||||
}
|
||||
else if (Resizing)
|
||||
{
|
||||
core::position2di dp = RelativeRect.LowerRightCorner + diff;
|
||||
setRelativePosition(core::rect<s32>(RelativeRect.UpperLeftCorner, dp));
|
||||
DragStart += dp - RelativeRect.LowerRightCorner + diff;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return Parent ? Parent->OnEvent(event) : false;
|
||||
}
|
||||
|
||||
bool CGUIEditWindow::isDraggable() const
|
||||
{
|
||||
return IsDraggable;
|
||||
}
|
||||
|
||||
void CGUIEditWindow::setDraggable(bool draggable)
|
||||
{
|
||||
IsDraggable = draggable;
|
||||
|
||||
if (Dragging && !IsDraggable)
|
||||
Dragging = false;
|
||||
}
|
||||
|
||||
|
||||
// we're supposed to supply these if we're creating an IGUIWindow
|
||||
// but we don't need them so we'll just return null
|
||||
|
||||
//! Returns the rectangle of the drawable area (without border, without titlebar and without scrollbars)
|
||||
core::rect<s32> CGUIEditWindow::getClientRect() const {return core::recti();}
|
||||
IGUIButton* CGUIEditWindow::getCloseButton() const {return 0;}
|
||||
IGUIButton* CGUIEditWindow::getMinimizeButton() const {return 0;}
|
||||
IGUIButton* CGUIEditWindow::getMaximizeButton() const {return 0;}
|
@ -1,88 +0,0 @@
|
||||
#ifndef __C_GUI_EDITOR_H_INCLUDED__
|
||||
#define __C_GUI_EDITOR_H_INCLUDED__
|
||||
|
||||
|
||||
#include "IGUIWindow.h"
|
||||
#include "CGUIAttributeEditor.h"
|
||||
//#include "IGUIStaticText.h"
|
||||
#include "IGUIButton.h"
|
||||
#include "IGUITreeView.h"
|
||||
#include "irrArray.h"
|
||||
#include "IAttributes.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
class CGUIEditWindow : public IGUIWindow
|
||||
{
|
||||
public:
|
||||
|
||||
//! constructor
|
||||
CGUIEditWindow(IGUIEnvironment* environment, core::rect<s32> rectangle, IGUIElement *parent);
|
||||
|
||||
//! destructor
|
||||
~CGUIEditWindow();
|
||||
|
||||
//! this part draws the window
|
||||
virtual void draw();
|
||||
//! handles events
|
||||
virtual bool OnEvent(const SEvent &event);
|
||||
|
||||
//! change selection
|
||||
virtual void setSelectedElement(IGUIElement *sel);
|
||||
|
||||
//! get draggable
|
||||
virtual bool isDraggable() const;
|
||||
|
||||
//! get draggable
|
||||
virtual void setDraggable(bool draggable);
|
||||
|
||||
// not used
|
||||
virtual core::rect<s32> getClientRect() const;
|
||||
virtual IGUIButton* getCloseButton() const;
|
||||
virtual IGUIButton* getMinimizeButton() const;
|
||||
virtual IGUIButton* getMaximizeButton() const;
|
||||
virtual void setDrawBackground(bool draw) { }
|
||||
virtual bool getDrawBackground() const { return true; }
|
||||
virtual void setDrawTitlebar(bool draw) { }
|
||||
virtual bool getDrawTitlebar() const { return true; }
|
||||
|
||||
IGUITreeView* getTreeView() const;
|
||||
CGUIAttributeEditor* getAttributeEditor() const;
|
||||
CGUIAttributeEditor* getOptionEditor() const;
|
||||
CGUIAttributeEditor* getEnvironmentEditor() const;
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_GUIEDITWINDOW];
|
||||
}
|
||||
|
||||
void updateTree();
|
||||
private:
|
||||
|
||||
void addChildrenToTree(IGUIElement* parentElement, IGUITreeViewNode* treenode);
|
||||
IGUITreeViewNode* getTreeNode(IGUIElement* element, IGUITreeViewNode* searchnode);
|
||||
// for dragging the window
|
||||
bool Dragging;
|
||||
bool IsDraggable;
|
||||
bool Resizing;
|
||||
core::position2d<s32> DragStart;
|
||||
|
||||
IGUIElement* SelectedElement; // current selected element
|
||||
|
||||
CGUIAttributeEditor* AttribEditor; // edits the current attribute
|
||||
CGUIAttributeEditor* OptionEditor; // edits the options for the window
|
||||
CGUIAttributeEditor* EnvEditor; // edits attributes for the environment
|
||||
IGUITreeView* TreeView; // tree view of all elements in scene
|
||||
IGUIButton* ResizeButton;
|
||||
|
||||
};
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
||||
#endif // __C_GUI_EDITOR_H_INCLUDED__
|
||||
|
@ -1,955 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt / Gaz Davidson
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
// Thanks to Midnight for all his testing, bug fixes and patches :)
|
||||
|
||||
#include "CGUIEditWorkspace.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "IOSOperator.h"
|
||||
#include "IReadFile.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "IXMLWriter.h"
|
||||
#include "IGUISkin.h"
|
||||
#include "IGUIElementFactory.h"
|
||||
#include "CGUIEditWindow.h"
|
||||
#include "IGUIContextMenu.h"
|
||||
#include "IGUIFileOpenDialog.h"
|
||||
#include "IGUITreeView.h"
|
||||
#include "CGUIAttribute.h"
|
||||
#include "CMemoryReadWriteFile.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
//! constructor
|
||||
CGUIEditWorkspace::CGUIEditWorkspace(IGUIEnvironment* environment, s32 id, IGUIElement *parent)
|
||||
: IGUIElement(EGUIET_ELEMENT, environment, parent ? parent : environment->getRootGUIElement(), id, environment->getRootGUIElement()->getAbsolutePosition()),
|
||||
CurrentMode(EGUIEDM_SELECT), MouseOverMode(EGUIEDM_SELECT),
|
||||
GridSize(10,10), MenuCommandStart(0x3D17), DrawGrid(false), UseGrid(true),
|
||||
MouseOverElement(0), SelectedElement(0), EditorWindow(0)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIEditWorkspace");
|
||||
#endif
|
||||
|
||||
// this element is never saved.
|
||||
setSubElement(true);
|
||||
|
||||
// it resizes to fit a resizing window
|
||||
setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
|
||||
// Types which we currently can't handle in editor
|
||||
// Most of them also just don't make sense in here (like Dialogs)
|
||||
// TODO: We should have a way to create context-menus
|
||||
UnusableElementTypeFilter.push_back(EGUIET_CONTEXT_MENU);
|
||||
UnusableElementTypeFilter.push_back(EGUIET_FILE_OPEN_DIALOG);
|
||||
UnusableElementTypeFilter.push_back(EGUIET_COLOR_SELECT_DIALOG);
|
||||
UnusableElementTypeFilter.push_back(EGUIET_MESSAGE_BOX);
|
||||
UnusableElementTypeFilter.push_back(EGUIET_MODAL_SCREEN);
|
||||
UnusableElementTypeFilter.push_back(EGUIET_ELEMENT); // wouldn't do anything, so don't show in menu
|
||||
UnusableElementTypeFilter.push_back(EGUIET_ROOT); // wouldn't do anything, so don't show in menu
|
||||
|
||||
EditorWindow = (CGUIEditWindow*) Environment->addGUIElement("GUIEditWindow", this);
|
||||
if (EditorWindow)
|
||||
{
|
||||
EditorWindow->grab();
|
||||
EditorWindow->setSubElement(true);
|
||||
|
||||
Environment->setFocus(EditorWindow);
|
||||
serializeAttributes(EditorWindow->getOptionEditor()->getAttribs());
|
||||
EditorWindow->getOptionEditor()->refreshAttribs();
|
||||
|
||||
if (EditorWindow->getEnvironmentEditor())
|
||||
{
|
||||
Environment->serializeAttributes(EditorWindow->getEnvironmentEditor()->getAttribs());
|
||||
EditorWindow->getEnvironmentEditor()->refreshAttribs();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//! destructor
|
||||
CGUIEditWorkspace::~CGUIEditWorkspace()
|
||||
{
|
||||
if (EditorWindow)
|
||||
EditorWindow->drop();
|
||||
}
|
||||
|
||||
|
||||
void CGUIEditWorkspace::setMenuCommandIDStart(s32 id)
|
||||
{
|
||||
MenuCommandStart = id;
|
||||
}
|
||||
|
||||
CGUIEditWorkspace::EGUIEDIT_MODE CGUIEditWorkspace::getModeFromPos(core::position2di p)
|
||||
{
|
||||
if (SelectedElement)
|
||||
{
|
||||
core::rect<s32> r = SelectedElement->getAbsolutePosition();
|
||||
|
||||
if (TLRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_TL;
|
||||
|
||||
else if (TRRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_TR;
|
||||
|
||||
else if (BLRect.isPointInside(p) )
|
||||
return EGUIEDM_RESIZE_BL;
|
||||
|
||||
else if (BRRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_BR;
|
||||
|
||||
else if (TopRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_T;
|
||||
|
||||
else if (BRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_B;
|
||||
|
||||
else if (LRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_L;
|
||||
|
||||
else if (RRect.isPointInside(p))
|
||||
return EGUIEDM_RESIZE_R;
|
||||
|
||||
else if (getEditableElementFromPoint(SelectedElement, p) == SelectedElement)
|
||||
return EGUIEDM_MOVE;
|
||||
|
||||
else
|
||||
return EGUIEDM_SELECT;
|
||||
}
|
||||
|
||||
return EGUIEDM_SELECT;
|
||||
|
||||
}
|
||||
|
||||
IGUIElement* CGUIEditWorkspace::getEditableElementFromPoint(IGUIElement *start, const core::position2di &point, s32 index )
|
||||
{
|
||||
IGUIElement* target = 0;
|
||||
|
||||
// we have to search from back to front.
|
||||
|
||||
core::list<IGUIElement*>::ConstIterator it = start->getChildren().getLast();
|
||||
s32 count=0;
|
||||
while(it != start->getChildren().end())
|
||||
{
|
||||
target = getEditableElementFromPoint((*it),point);
|
||||
if (target)
|
||||
{
|
||||
if (!target->isSubElement() && !isMyChild(target) && target != this)
|
||||
{
|
||||
if (index == count)
|
||||
return target;
|
||||
else
|
||||
count++;
|
||||
}
|
||||
else
|
||||
target = 0;
|
||||
}
|
||||
--it;
|
||||
}
|
||||
|
||||
if (start->getAbsolutePosition().isPointInside(point))
|
||||
target = start;
|
||||
|
||||
return target;
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::setSelectedElement(IGUIElement *sel)
|
||||
{
|
||||
IGUIElement* focus = Environment->getFocus();
|
||||
// we only give focus back to children
|
||||
if (!isMyChild(focus))
|
||||
focus = 0;
|
||||
|
||||
if (SelectedElement != Parent)
|
||||
{
|
||||
if (SelectedElement != sel && EditorWindow)
|
||||
{
|
||||
EditorWindow->setSelectedElement(sel);
|
||||
SelectedElement = sel;
|
||||
}
|
||||
}
|
||||
else
|
||||
SelectedElement = 0;
|
||||
|
||||
if (focus)
|
||||
Environment->setFocus(focus);
|
||||
else
|
||||
Environment->setFocus(this);
|
||||
}
|
||||
|
||||
IGUIElement* CGUIEditWorkspace::getSelectedElement()
|
||||
{
|
||||
return SelectedElement;
|
||||
}
|
||||
void CGUIEditWorkspace::selectNextSibling()
|
||||
{
|
||||
IGUIElement* p=0;
|
||||
|
||||
if (SelectedElement && SelectedElement->getParent())
|
||||
p = SelectedElement->getParent();
|
||||
else
|
||||
p = Parent;
|
||||
|
||||
core::list<IGUIElement*>::ConstIterator it = p->getChildren().begin();
|
||||
// find selected element
|
||||
if (SelectedElement)
|
||||
while (*it != SelectedElement)
|
||||
++it;
|
||||
if (it !=p->getChildren().end())
|
||||
++it;
|
||||
// find next non sub-element
|
||||
while (it != p->getChildren().end() && (*it)->isSubElement())
|
||||
++it;
|
||||
|
||||
if (it != p->getChildren().end())
|
||||
setSelectedElement(*it);
|
||||
}
|
||||
void CGUIEditWorkspace::selectPreviousSibling()
|
||||
{
|
||||
IGUIElement* p=0;
|
||||
|
||||
if (SelectedElement && SelectedElement->getParent())
|
||||
p = SelectedElement->getParent();
|
||||
else
|
||||
p = Parent;
|
||||
|
||||
core::list<IGUIElement*>::ConstIterator it = p->getChildren().getLast();
|
||||
// find selected element
|
||||
if (SelectedElement)
|
||||
while (*it != SelectedElement)
|
||||
--it;
|
||||
if (it != p->getChildren().end())
|
||||
--it;
|
||||
// find next non sub-element
|
||||
while (it != p->getChildren().end() && (*it)->isSubElement())
|
||||
--it;
|
||||
|
||||
if (it != p->getChildren().end())
|
||||
setSelectedElement(*it);
|
||||
}
|
||||
|
||||
//! called if an event happened.
|
||||
bool CGUIEditWorkspace::OnEvent(const SEvent &e)
|
||||
{
|
||||
IGUIFileOpenDialog* dialog=0;
|
||||
switch(e.EventType)
|
||||
{
|
||||
case ATTRIBEDIT_ATTRIB_CHANGED:
|
||||
{
|
||||
switch (e.UserEvent.UserData1)
|
||||
{
|
||||
case EGUIEDCE_ATTRIB_EDITOR:
|
||||
{
|
||||
// update selected items attributes
|
||||
if (SelectedElement)
|
||||
{
|
||||
SelectedElement->deserializeAttributes(EditorWindow->getAttributeEditor()->getAttribs());
|
||||
EditorWindow->updateTree();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case EGUIEDCE_OPTION_EDITOR:
|
||||
{
|
||||
// update editor options
|
||||
deserializeAttributes(EditorWindow->getOptionEditor()->getAttribs());
|
||||
return true;
|
||||
}
|
||||
case EGUIEDCE_ENV_EDITOR:
|
||||
{
|
||||
// update environment
|
||||
Environment->deserializeAttributes(EditorWindow->getEnvironmentEditor()->getAttribs());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case EET_KEY_INPUT_EVENT:
|
||||
if (!e.KeyInput.PressedDown)
|
||||
{
|
||||
switch (e.KeyInput.Key)
|
||||
{
|
||||
case KEY_DELETE:
|
||||
if (SelectedElement)
|
||||
{
|
||||
IGUIElement* el = SelectedElement;
|
||||
setSelectedElement(0);
|
||||
MouseOverElement = 0;
|
||||
el->remove();
|
||||
EditorWindow->updateTree();
|
||||
}
|
||||
break;
|
||||
case KEY_KEY_X:
|
||||
if (e.KeyInput.Control && SelectedElement)
|
||||
{
|
||||
// cut
|
||||
CopySelectedElementXML();
|
||||
// delete element
|
||||
IGUIElement *el = SelectedElement;
|
||||
setSelectedElement(0);
|
||||
MouseOverElement = 0;
|
||||
el->remove();
|
||||
}
|
||||
break;
|
||||
case KEY_KEY_C:
|
||||
// copy
|
||||
if (e.KeyInput.Control && SelectedElement)
|
||||
{
|
||||
CopySelectedElementXML();
|
||||
}
|
||||
break;
|
||||
case KEY_KEY_V:
|
||||
// paste
|
||||
if (e.KeyInput.Control)
|
||||
{
|
||||
PasteXMLToSelectedElement();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
case EET_MOUSE_INPUT_EVENT:
|
||||
|
||||
switch(e.MouseInput.Event)
|
||||
{
|
||||
case EMIE_MOUSE_WHEEL:
|
||||
{
|
||||
f32 wheel = e.MouseInput.Wheel;
|
||||
|
||||
if (wheel > 0)
|
||||
selectPreviousSibling();
|
||||
else
|
||||
selectNextSibling();
|
||||
}
|
||||
break;
|
||||
case EMIE_LMOUSE_PRESSED_DOWN:
|
||||
{
|
||||
core::position2di p = core::position2di(e.MouseInput.X,e.MouseInput.Y);
|
||||
|
||||
IGUIElement* newSelection = getElementFromPoint(p);
|
||||
|
||||
if (newSelection != this && isMyChild(newSelection) ) // redirect event
|
||||
{
|
||||
Environment->setFocus(newSelection);
|
||||
return true;
|
||||
}
|
||||
|
||||
// hide the gui editor
|
||||
if (EditorWindow)
|
||||
EditorWindow->setVisible(false);
|
||||
|
||||
if (CurrentMode == EGUIEDM_SELECT)
|
||||
{
|
||||
if (SelectedElement)
|
||||
{
|
||||
// start moving or dragging
|
||||
CurrentMode = getModeFromPos(p);
|
||||
|
||||
if (CurrentMode == EGUIEDM_MOVE)
|
||||
StartMovePos = SelectedElement->getAbsolutePosition().UpperLeftCorner;
|
||||
|
||||
DragStart = p;
|
||||
SelectedArea = SelectedElement->getAbsolutePosition();
|
||||
}
|
||||
|
||||
if (CurrentMode < EGUIEDM_MOVE)
|
||||
{
|
||||
// selecting an element...
|
||||
MouseOverElement = getEditableElementFromPoint(Parent, p);
|
||||
|
||||
if (MouseOverElement == Parent)
|
||||
MouseOverElement = 0;
|
||||
|
||||
setSelectedElement(MouseOverElement);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case EMIE_RMOUSE_PRESSED_DOWN:
|
||||
if (CurrentMode == EGUIEDM_SELECT_NEW_PARENT || CurrentMode >= EGUIEDM_MOVE)
|
||||
{
|
||||
// cancel dragging
|
||||
CurrentMode = EGUIEDM_SELECT;
|
||||
}
|
||||
else
|
||||
{
|
||||
DragStart = core::position2di(e.MouseInput.X,e.MouseInput.Y);
|
||||
// root menu
|
||||
IGUIContextMenu* mnu = Environment->addContextMenu(
|
||||
core::rect<s32>(e.MouseInput.X, e.MouseInput.Y, e.MouseInput.Y+100, e.MouseInput.Y+100),this);
|
||||
mnu->addItem(L"File",-1,true,true);
|
||||
mnu->addItem(L"Edit",-1,true,true);
|
||||
mnu->addItem(L"View",-1,true,true);
|
||||
mnu->addItem(SelectedElement ? L"Add child" : L"Add" ,-1,true,true);
|
||||
|
||||
// file menu
|
||||
IGUIContextMenu* sub = mnu->getSubMenu(0);
|
||||
IGUIContextMenu* sub2 =0;
|
||||
|
||||
sub->addItem(L"New", MenuCommandStart + EGUIEDMC_FILE_NEW );
|
||||
sub->addItem(L"Load...",MenuCommandStart + EGUIEDMC_FILE_LOAD);
|
||||
sub->addItem(L"Save...",MenuCommandStart + EGUIEDMC_FILE_SAVE);
|
||||
|
||||
// edit menu
|
||||
sub = mnu->getSubMenu(1);
|
||||
sub->addItem(L"Cut (ctrl+x)", MenuCommandStart + EGUIEDMC_CUT_ELEMENT, (SelectedElement != 0));
|
||||
sub->addItem(L"Copy (ctrl+c)", MenuCommandStart + EGUIEDMC_COPY_ELEMENT, (SelectedElement != 0));
|
||||
sub->addItem(L"Paste (ctrl+v)", MenuCommandStart + EGUIEDMC_PASTE_ELEMENT,
|
||||
(core::stringc(Environment->getOSOperator()->getTextFromClipboard()) != ""));
|
||||
sub->addItem(L"Delete (del)", MenuCommandStart + EGUIEDMC_DELETE_ELEMENT, (SelectedElement != 0));
|
||||
sub->addSeparator();
|
||||
sub->addItem(L"Set parent", MenuCommandStart + EGUIEDMC_SET_PARENT, (SelectedElement != 0));
|
||||
sub->addItem(L"Bring to front", MenuCommandStart + EGUIEDMC_BRING_TO_FRONT, (SelectedElement != 0));
|
||||
sub->addSeparator();
|
||||
sub->addItem(L"Save to XML...", MenuCommandStart + EGUIEDMC_SAVE_ELEMENT, (SelectedElement != 0));
|
||||
|
||||
sub = mnu->getSubMenu(2);
|
||||
// view menu
|
||||
if (EditorWindow)
|
||||
sub->addItem(EditorWindow->isVisible() ? L"Hide window" : L"Show window", MenuCommandStart + EGUIEDMC_TOGGLE_EDITOR);
|
||||
|
||||
sub = mnu->getSubMenu(3);
|
||||
|
||||
s32 i,j,c=0;
|
||||
sub->addItem(L"Default factory",-1,true, true);
|
||||
|
||||
// add elements from each factory
|
||||
for (i=0; u32(i) < Environment->getRegisteredGUIElementFactoryCount(); ++i)
|
||||
{
|
||||
sub2 = sub->getSubMenu(i);
|
||||
|
||||
IGUIElementFactory *f = Environment->getGUIElementFactory(i);
|
||||
|
||||
for (j=0; j< f->getCreatableGUIElementTypeCount(); ++j)
|
||||
{
|
||||
EGUI_ELEMENT_TYPE type = f->getCreateableGUIElementType(j);
|
||||
if ( UnusableElementTypeFilter.linear_search(type) < 0 )
|
||||
sub2->addItem(core::stringw(f->getCreateableGUIElementTypeName(j)).c_str(), MenuCommandStart + EGUIEDMC_COUNT + c);
|
||||
c++;
|
||||
}
|
||||
|
||||
if (u32(i+1) < Environment->getRegisteredGUIElementFactoryCount())
|
||||
{
|
||||
core::stringw strFact;
|
||||
strFact = L"Factory ";
|
||||
strFact += i+1;
|
||||
sub->addItem(strFact.c_str(),-1, true, true);
|
||||
}
|
||||
}
|
||||
sub->addSeparator();
|
||||
sub->addItem(L"From XML...", MenuCommandStart + EGUIEDMC_INSERT_XML);
|
||||
|
||||
// set focus to menu
|
||||
Environment->setFocus(mnu);
|
||||
|
||||
}
|
||||
break;
|
||||
case EMIE_LMOUSE_LEFT_UP:
|
||||
|
||||
// make window visible again
|
||||
if (EditorWindow)
|
||||
EditorWindow->setVisible(true);
|
||||
if (CurrentMode == EGUIEDM_SELECT_NEW_PARENT)
|
||||
{
|
||||
if (SelectedElement)
|
||||
{
|
||||
MouseOverElement = getEditableElementFromPoint(Parent,
|
||||
core::position2di(e.MouseInput.X,e.MouseInput.Y));
|
||||
if (MouseOverElement)
|
||||
{
|
||||
MouseOverElement->addChild(SelectedElement);
|
||||
setSelectedElement(0);
|
||||
setSelectedElement(SelectedElement);
|
||||
}
|
||||
}
|
||||
CurrentMode = EGUIEDM_SELECT;
|
||||
}
|
||||
else if (CurrentMode >= EGUIEDM_MOVE)
|
||||
{
|
||||
IGUIElement *sel = SelectedElement;
|
||||
// unselect
|
||||
setSelectedElement(0);
|
||||
|
||||
// move
|
||||
core::position2d<s32> p(0,0);
|
||||
if (sel->getParent())
|
||||
p = sel->getParent()->getAbsolutePosition().UpperLeftCorner;
|
||||
|
||||
sel->setRelativePosition(SelectedArea - p);
|
||||
|
||||
// select
|
||||
setSelectedElement(sel);
|
||||
|
||||
// reset selection mode...
|
||||
CurrentMode = EGUIEDM_SELECT;
|
||||
}
|
||||
break;
|
||||
case EMIE_MOUSE_MOVED:
|
||||
// always on top
|
||||
Parent->bringToFront(this);
|
||||
|
||||
// if selecting
|
||||
if (CurrentMode == EGUIEDM_SELECT || CurrentMode == EGUIEDM_SELECT_NEW_PARENT)
|
||||
{
|
||||
|
||||
core::position2di p = core::position2di(e.MouseInput.X,e.MouseInput.Y);
|
||||
|
||||
// highlight the element that the mouse is over
|
||||
MouseOverElement = getEditableElementFromPoint(Parent, p);
|
||||
if (MouseOverElement == Parent)
|
||||
{
|
||||
MouseOverElement = 0;
|
||||
}
|
||||
|
||||
if (CurrentMode == EGUIEDM_SELECT)
|
||||
{
|
||||
MouseOverMode = getModeFromPos(p);
|
||||
if (MouseOverMode > EGUIEDM_MOVE)
|
||||
{
|
||||
MouseOverElement = SelectedElement;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (CurrentMode == EGUIEDM_MOVE)
|
||||
{
|
||||
// get difference
|
||||
core::position2di p = core::position2di(e.MouseInput.X,e.MouseInput.Y);
|
||||
p -= DragStart;
|
||||
|
||||
// apply to top corner
|
||||
p = StartMovePos + p;
|
||||
if (UseGrid)
|
||||
{
|
||||
p.X = (p.X/GridSize.Width)*GridSize.Width;
|
||||
p.Y = (p.Y/GridSize.Height)*GridSize.Height;
|
||||
}
|
||||
|
||||
SelectedArea += p - SelectedArea.UpperLeftCorner;
|
||||
}
|
||||
else if (CurrentMode > EGUIEDM_MOVE)
|
||||
{
|
||||
// get difference from start position
|
||||
core::position2di p = core::position2di(e.MouseInput.X,e.MouseInput.Y);
|
||||
if (UseGrid)
|
||||
{
|
||||
p.X = (p.X/GridSize.Width)*GridSize.Width;
|
||||
p.Y = (p.Y/GridSize.Height)*GridSize.Height;
|
||||
}
|
||||
|
||||
switch(CurrentMode)
|
||||
{
|
||||
case EGUIEDM_RESIZE_T:
|
||||
SelectedArea.UpperLeftCorner.Y = p.Y;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_B:
|
||||
SelectedArea.LowerRightCorner.Y = p.Y;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_L:
|
||||
SelectedArea.UpperLeftCorner.X = p.X;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_R:
|
||||
SelectedArea.LowerRightCorner.X = p.X;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_TL:
|
||||
SelectedArea.UpperLeftCorner = p;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_TR:
|
||||
SelectedArea.UpperLeftCorner.Y = p.Y;
|
||||
SelectedArea.LowerRightCorner.X = p.X;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_BL:
|
||||
SelectedArea.UpperLeftCorner.X = p.X;
|
||||
SelectedArea.LowerRightCorner.Y = p.Y;
|
||||
break;
|
||||
case EGUIEDM_RESIZE_BR:
|
||||
SelectedArea.LowerRightCorner = p;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case EET_GUI_EVENT:
|
||||
switch(e.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_TREEVIEW_NODE_SELECT:
|
||||
{
|
||||
IGUITreeViewNode* eventnode = ((IGUITreeView*)e.GUIEvent.Caller)->getLastEventNode();
|
||||
if(!eventnode->isRoot())
|
||||
setSelectedElement((IGUIElement*)(eventnode->getData()));
|
||||
break;
|
||||
}
|
||||
// load a gui file
|
||||
case EGET_FILE_SELECTED:
|
||||
{
|
||||
dialog = (IGUIFileOpenDialog*)e.GUIEvent.Caller;
|
||||
core::stringc guiFilename(core::stringc(dialog->getFileName()).c_str());
|
||||
clearParentElements();
|
||||
Environment->loadGUI(guiFilename, Parent);
|
||||
EditorWindow->updateTree();
|
||||
break;
|
||||
}
|
||||
|
||||
case EGET_MENU_ITEM_SELECTED:
|
||||
{
|
||||
IGUIContextMenu *menu = (IGUIContextMenu*)e.GUIEvent.Caller;
|
||||
s32 cmdID = menu->getItemCommandId(menu->getSelectedItem()) - MenuCommandStart;
|
||||
|
||||
IGUIElement* el;
|
||||
|
||||
switch(cmdID)
|
||||
{
|
||||
|
||||
//! file commands
|
||||
case EGUIEDMC_FILE_NEW:
|
||||
clearParentElements();
|
||||
break;
|
||||
case EGUIEDMC_FILE_LOAD:
|
||||
Environment->addFileOpenDialog(L"Please select a GUI file to open", false, this);
|
||||
break;
|
||||
case EGUIEDMC_FILE_SAVE:
|
||||
Environment->saveGUI("guiTest.xml");
|
||||
break;
|
||||
|
||||
//! edit menu
|
||||
case EGUIEDMC_CUT_ELEMENT:
|
||||
{
|
||||
CopySelectedElementXML();
|
||||
// delete element
|
||||
el = SelectedElement;
|
||||
setSelectedElement(0);
|
||||
MouseOverElement = 0;
|
||||
el->remove();
|
||||
break;
|
||||
}
|
||||
case EGUIEDMC_COPY_ELEMENT:
|
||||
CopySelectedElementXML();
|
||||
break;
|
||||
case EGUIEDMC_PASTE_ELEMENT:
|
||||
PasteXMLToSelectedElement();
|
||||
break;
|
||||
case EGUIEDMC_DELETE_ELEMENT:
|
||||
el = SelectedElement;
|
||||
setSelectedElement(0);
|
||||
MouseOverElement = 0;
|
||||
el->remove();
|
||||
break;
|
||||
case EGUIEDMC_SET_PARENT:
|
||||
CurrentMode = EGUIEDM_SELECT_NEW_PARENT;
|
||||
break;
|
||||
case EGUIEDMC_BRING_TO_FRONT:
|
||||
if (SelectedElement->getParent())
|
||||
SelectedElement->getParent()->bringToFront(SelectedElement);
|
||||
break;
|
||||
|
||||
case EGUIEDMC_SAVE_ELEMENT:
|
||||
//TODO: add 'save' dialog.
|
||||
Environment->saveGUI("guiTest.xml", SelectedElement ? SelectedElement : Environment->getRootGUIElement() );
|
||||
break;
|
||||
|
||||
//! toggle edit window
|
||||
case EGUIEDMC_TOGGLE_EDITOR:
|
||||
break;
|
||||
|
||||
case EGUIEDMC_INSERT_XML:
|
||||
Environment->loadGUI("guiTest.xml", SelectedElement ? SelectedElement : Environment->getRootGUIElement() );
|
||||
break;
|
||||
|
||||
default:
|
||||
// create element from factory?
|
||||
if (cmdID >= EGUIEDMC_COUNT)
|
||||
{
|
||||
|
||||
s32 num = cmdID - EGUIEDMC_COUNT; // get index
|
||||
// loop through all factories
|
||||
s32 i, c=Environment->getRegisteredGUIElementFactoryCount();
|
||||
for (i=0; i<c && num > Environment->getGUIElementFactory(i)->getCreatableGUIElementTypeCount(); ++i)
|
||||
{
|
||||
num -= Environment->getGUIElementFactory(i)->getCreatableGUIElementTypeCount();
|
||||
}
|
||||
if (num < Environment->getGUIElementFactory(i)->getCreatableGUIElementTypeCount() )
|
||||
{
|
||||
core::stringc name = Environment->getGUIElementFactory(i)->getCreateableGUIElementTypeName(num);
|
||||
IGUIElement *parentElement = SelectedElement ? SelectedElement : Environment->getRootGUIElement();
|
||||
// add it
|
||||
IGUIElement *newElement = Environment->getGUIElementFactory(i)->addGUIElement(name.c_str(),parentElement);
|
||||
if (newElement)
|
||||
{
|
||||
core::position2di p = DragStart - parentElement->getAbsolutePosition().UpperLeftCorner;
|
||||
newElement->setRelativePosition(core::rect<s32>(p,p+core::position2di(100,100)));
|
||||
//Environment->removeFocus(newElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
EditorWindow->updateTree();
|
||||
}
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// even if we didn't absorb the event,
|
||||
// we never pass events back to the GUI we're editing!
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//! draws the element and its children
|
||||
void CGUIEditWorkspace::draw()
|
||||
{
|
||||
video::IVideoDriver *driver = Environment->getVideoDriver();
|
||||
|
||||
if (DrawGrid)
|
||||
{
|
||||
// draw the grid
|
||||
|
||||
core::rect<s32> r = getAbsolutePosition();
|
||||
|
||||
s32 cy = r.UpperLeftCorner.Y;
|
||||
while (cy < r.LowerRightCorner.Y)
|
||||
{
|
||||
s32 cx = r.UpperLeftCorner.X;
|
||||
while (cx < r.LowerRightCorner.X)
|
||||
{
|
||||
driver->draw2DRectangle(video::SColor(40,0,0,90),core::rect<s32>(cx+1,cy+1,GridSize.Width+cx,GridSize.Height+cy));
|
||||
cx += GridSize.Width;
|
||||
}
|
||||
cy += GridSize.Height;
|
||||
}
|
||||
}
|
||||
if (MouseOverElement &&
|
||||
MouseOverElement != SelectedElement &&
|
||||
MouseOverElement != Parent)
|
||||
{
|
||||
core::rect<s32> r = MouseOverElement->getAbsolutePosition();
|
||||
driver->draw2DRectangle(video::SColor(100,0,0,255), r);
|
||||
}
|
||||
if (SelectedElement && CurrentMode == EGUIEDM_SELECT)
|
||||
{
|
||||
driver->draw2DRectangle(video::SColor(100,0,255,0),SelectedElement->getAbsolutePosition());
|
||||
}
|
||||
if (CurrentMode >= EGUIEDM_MOVE)
|
||||
{
|
||||
driver->draw2DRectangle(video::SColor(100,255,0,0),SelectedArea);
|
||||
}
|
||||
|
||||
if ( (SelectedElement && CurrentMode >= EGUIEDM_MOVE) ||
|
||||
(SelectedElement && MouseOverElement == SelectedElement && MouseOverMode >= EGUIEDM_MOVE) )
|
||||
{
|
||||
// draw handles for moving
|
||||
EGUIEDIT_MODE m = CurrentMode;
|
||||
core::rect<s32> r = SelectedArea;
|
||||
if (m < EGUIEDM_MOVE)
|
||||
{
|
||||
m = MouseOverMode;
|
||||
r = SelectedElement->getAbsolutePosition();
|
||||
}
|
||||
|
||||
core::position2di d = core::position2di(4,4);
|
||||
|
||||
TLRect = core::rect<s32>(r.UpperLeftCorner, r.UpperLeftCorner + d );
|
||||
TRRect = core::rect<s32>(r.LowerRightCorner.X-4, r.UpperLeftCorner.Y, r.LowerRightCorner.X, r.UpperLeftCorner.Y+4);
|
||||
TopRect = core::rect<s32>(r.getCenter().X-2, r.UpperLeftCorner.Y,r.getCenter().X+2, r.UpperLeftCorner.Y+4 );
|
||||
BLRect = core::rect<s32>(r.UpperLeftCorner.X, r.LowerRightCorner.Y-4, r.UpperLeftCorner.X+4, r.LowerRightCorner.Y);
|
||||
LRect = core::rect<s32>(r.UpperLeftCorner.X,r.getCenter().Y-2, r.UpperLeftCorner.X+4, r.getCenter().Y+2 );
|
||||
RRect = core::rect<s32>(r.LowerRightCorner.X-4,r.getCenter().Y-2, r.LowerRightCorner.X, r.getCenter().Y+2 );
|
||||
BRRect = core::rect<s32>(r.LowerRightCorner-d, r.LowerRightCorner);
|
||||
BRect = core::rect<s32>(r.getCenter().X-2, r.LowerRightCorner.Y-4,r.getCenter().X+2, r.LowerRightCorner.Y );
|
||||
|
||||
// top left
|
||||
if (m == EGUIEDM_RESIZE_T || m == EGUIEDM_RESIZE_L || m == EGUIEDM_RESIZE_TL || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), TLRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_T || m == EGUIEDM_RESIZE_R || m == EGUIEDM_RESIZE_TR || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), TRRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_T || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), TopRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_L || m == EGUIEDM_RESIZE_BL || m == EGUIEDM_RESIZE_B || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), BLRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_L || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), LRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_R || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), RRect);
|
||||
|
||||
if (m == EGUIEDM_RESIZE_R || m == EGUIEDM_RESIZE_BR || m == EGUIEDM_RESIZE_B || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), BRRect );
|
||||
|
||||
if (m == EGUIEDM_RESIZE_B || m == EGUIEDM_MOVE )
|
||||
driver->draw2DRectangle(video::SColor(100,255,255,255), BRect);
|
||||
|
||||
|
||||
}
|
||||
|
||||
IGUIElement::draw();
|
||||
}
|
||||
|
||||
|
||||
void CGUIEditWorkspace::setDrawGrid(bool drawGrid)
|
||||
{
|
||||
DrawGrid = drawGrid;
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::setGridSize(const core::dimension2di& gridSize)
|
||||
{
|
||||
GridSize = gridSize;
|
||||
if (GridSize.Width < 2)
|
||||
GridSize.Width = 2;
|
||||
if (GridSize.Height < 2)
|
||||
GridSize.Height = 2;
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::setUseGrid(bool useGrid)
|
||||
{
|
||||
UseGrid = useGrid;
|
||||
}
|
||||
|
||||
|
||||
//! Removes a child.
|
||||
void CGUIEditWorkspace::removeChild(IGUIElement* child)
|
||||
{
|
||||
IGUIElement::removeChild(child);
|
||||
|
||||
// TODO: Can anyone find out why the workspace removes itself when it has no more children
|
||||
// and document it here?
|
||||
if (Children.empty())
|
||||
remove();
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::clearParentElements()
|
||||
{
|
||||
setSelectedElement(0);
|
||||
MouseOverElement = 0;
|
||||
|
||||
IGUIElement * el = Parent;
|
||||
grab();
|
||||
|
||||
if ( el->isMyChild(Environment->getFocus()) )
|
||||
Environment->setFocus(0);
|
||||
|
||||
while (!el->getChildren().empty())
|
||||
{
|
||||
el->removeChild(*(el->getChildren().begin()));
|
||||
}
|
||||
|
||||
el->addChild(this);
|
||||
drop();
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::updateAbsolutePosition()
|
||||
{
|
||||
core::rect<s32> parentRect(0,0,0,0);
|
||||
|
||||
if (Parent)
|
||||
{
|
||||
parentRect = Parent->getAbsolutePosition();
|
||||
RelativeRect.UpperLeftCorner.X = 0;
|
||||
RelativeRect.UpperLeftCorner.Y = 0;
|
||||
RelativeRect.LowerRightCorner.X = parentRect.getWidth();
|
||||
RelativeRect.LowerRightCorner.Y = parentRect.getHeight();
|
||||
}
|
||||
|
||||
IGUIElement::updateAbsolutePosition();
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::CopySelectedElementXML()
|
||||
{
|
||||
core::stringc XMLText;
|
||||
core::stringw wXMLText;
|
||||
// create memory write file
|
||||
io::CMemoryReadWriteFile* memWrite = new io::CMemoryReadWriteFile("#Clipboard#");
|
||||
// save gui to mem file
|
||||
io::IXMLWriter* xml = Environment->getFileSystem()->createXMLWriter(memWrite);
|
||||
Environment->writeGUIElement(xml, SelectedElement);
|
||||
|
||||
// copy to clipboard- wide chars not supported yet :(
|
||||
wXMLText = (wchar_t*)&memWrite->getData()[0];
|
||||
u32 i = memWrite->getData().size()/sizeof(wchar_t);
|
||||
if (wXMLText.size() > i)
|
||||
wXMLText[i] = L'\0';
|
||||
XMLText = wXMLText.c_str();
|
||||
memWrite->drop();
|
||||
xml->drop();
|
||||
Environment->getOSOperator()->copyToClipboard(XMLText.c_str());
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::PasteXMLToSelectedElement()
|
||||
{
|
||||
// get clipboard data
|
||||
const char * p = Environment->getOSOperator()->getTextFromClipboard();
|
||||
irr::core::stringw wXMLText;
|
||||
core::multibyteToWString(wXMLText, p);
|
||||
|
||||
io::CMemoryReadWriteFile* memWrite = new io::CMemoryReadWriteFile("#Clipboard#");
|
||||
|
||||
io::IXMLWriter* xmlw = Environment->getFileSystem()->createXMLWriter(memWrite);
|
||||
xmlw->writeXMLHeader(); // it needs one of those
|
||||
xmlw->drop();
|
||||
|
||||
// write clipboard data
|
||||
memWrite->write((void*)&wXMLText[0], wXMLText.size() * sizeof(wchar_t));
|
||||
|
||||
// rewind file
|
||||
memWrite->seek(0, false);
|
||||
|
||||
// read xml
|
||||
Environment->loadGUI(memWrite, SelectedElement);
|
||||
|
||||
// reset focus
|
||||
Environment->setFocus(this);
|
||||
|
||||
// drop the read file
|
||||
memWrite->drop();
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options)
|
||||
{
|
||||
out->addBool("DrawGrid", DrawGrid);
|
||||
out->addBool("UseGrid", UseGrid);
|
||||
out->addPosition2d("GridSize", core::position2di(GridSize.Width, GridSize.Height));
|
||||
out->addInt("MenuCommandStart", MenuCommandStart);
|
||||
}
|
||||
|
||||
void CGUIEditWorkspace::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options)
|
||||
{
|
||||
setDrawGrid(in->getAttributeAsBool("DrawGrid"));
|
||||
setUseGrid(in->getAttributeAsBool("UseGrid"));
|
||||
|
||||
core::position2di tmpp = in->getAttributeAsPosition2d("GridSize");
|
||||
core::dimension2di tmpd(tmpp.X, tmpp.Y);
|
||||
setGridSize(tmpd);
|
||||
setMenuCommandIDStart(in->getAttributeAsInt("MenuCommandStart"));
|
||||
}
|
||||
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
||||
|
@ -1,174 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt / Gaz Davidson
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#ifndef __C_GUIEDIT_WORKSPACE_H_INCLUDED__
|
||||
#define __C_GUIEDIT_WORKSPACE_H_INCLUDED__
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "CGUIEditWindow.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
//! Adding the GUI Editor Workspace to an element allows you
|
||||
/** to create, edit, load and save any elements supported
|
||||
by any loaded factories.
|
||||
When you add it without a parent (to the root element)
|
||||
it will also allow you to edit, load and save settings in
|
||||
the current skin.
|
||||
*/
|
||||
|
||||
// custom events
|
||||
enum EGUIEDIT_CUSTOM_EVENTS
|
||||
{
|
||||
EGUIEDCE_ATTRIB_EDITOR = MAKE_IRR_ID('g','A','t','t'),
|
||||
EGUIEDCE_OPTION_EDITOR = MAKE_IRR_ID('g','O','p','t'),
|
||||
EGUIEDCE_ENV_EDITOR = MAKE_IRR_ID('g','E','n','v')
|
||||
};
|
||||
|
||||
class CGUIEditWorkspace : public IGUIElement
|
||||
{
|
||||
public:
|
||||
|
||||
//! constructor
|
||||
CGUIEditWorkspace(IGUIEnvironment* environment, s32 id=-1, IGUIElement *parent=0);
|
||||
|
||||
//! destructor
|
||||
~CGUIEditWorkspace();
|
||||
|
||||
//! called if an event happened.
|
||||
virtual bool OnEvent(const SEvent &event);
|
||||
|
||||
//! Removes a child.
|
||||
virtual void removeChild(IGUIElement* child);
|
||||
|
||||
//! Remove all gui elements from parent except this one
|
||||
virtual void clearParentElements();
|
||||
|
||||
//! draws the element and its children
|
||||
virtual void draw();
|
||||
|
||||
//! Updates the absolute position.
|
||||
virtual void updateAbsolutePosition();
|
||||
|
||||
//! Sets the menu command id's
|
||||
/** The GUI editor defaults to command ID's from 0xED17 to 0xED17+EGUIEDMC_COUNT
|
||||
In the rare case that these are already in use and you wish to use menus
|
||||
while the editor is present you can set a new offset here.
|
||||
*/
|
||||
virtual void setMenuCommandIDStart(s32 id);
|
||||
|
||||
//! grid drawing...
|
||||
virtual void setDrawGrid(bool drawGrid);
|
||||
virtual void setGridSize(const core::dimension2di& gridSize);
|
||||
virtual void setUseGrid(bool useGrid);
|
||||
|
||||
//! returns the first editable element under the mouse
|
||||
virtual IGUIElement* getEditableElementFromPoint(IGUIElement *start, const core::position2di &point, s32 index=0 );
|
||||
|
||||
//! selecting elements
|
||||
virtual void setSelectedElement(IGUIElement *sel);
|
||||
virtual void selectNextSibling();
|
||||
virtual void selectPreviousSibling();
|
||||
|
||||
//! returns the selected element
|
||||
virtual IGUIElement* getSelectedElement();
|
||||
|
||||
//! copies the xml of the selected element and all children to the clipboard
|
||||
virtual void CopySelectedElementXML();
|
||||
|
||||
//! copies the xml of the selected element and all children to the clipboard
|
||||
virtual void PasteXMLToSelectedElement();
|
||||
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_GUIEDIT];
|
||||
}
|
||||
|
||||
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0);
|
||||
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0);
|
||||
|
||||
private:
|
||||
|
||||
enum EGUIEDIT_MODE
|
||||
{
|
||||
// when we are currently selecting an element
|
||||
EGUIEDM_SELECT=0,
|
||||
// selecting a new parent for the selected element
|
||||
EGUIEDM_SELECT_NEW_PARENT,
|
||||
|
||||
// moving the selected element
|
||||
EGUIEDM_MOVE,
|
||||
// resizing the selected element
|
||||
EGUIEDM_RESIZE_TL,
|
||||
EGUIEDM_RESIZE_T,
|
||||
EGUIEDM_RESIZE_TR,
|
||||
EGUIEDM_RESIZE_R,
|
||||
EGUIEDM_RESIZE_BR,
|
||||
EGUIEDM_RESIZE_B,
|
||||
EGUIEDM_RESIZE_BL,
|
||||
EGUIEDM_RESIZE_L
|
||||
};
|
||||
|
||||
enum EGUIEDIT_MENUCOMMANDS
|
||||
{
|
||||
//! file commands
|
||||
EGUIEDMC_FILE_NEW,
|
||||
EGUIEDMC_FILE_LOAD,
|
||||
EGUIEDMC_FILE_SAVE,
|
||||
//! edit menu
|
||||
EGUIEDMC_CUT_ELEMENT,
|
||||
EGUIEDMC_COPY_ELEMENT,
|
||||
EGUIEDMC_PASTE_ELEMENT,
|
||||
EGUIEDMC_DELETE_ELEMENT,
|
||||
EGUIEDMC_SET_PARENT,
|
||||
EGUIEDMC_BRING_TO_FRONT,
|
||||
EGUIEDMC_SAVE_ELEMENT,
|
||||
//! grid
|
||||
EGUIEDMC_TOGGLE_EDITOR,
|
||||
|
||||
EGUIEDMC_INSERT_XML,
|
||||
|
||||
//! number of menu options
|
||||
EGUIEDMC_COUNT
|
||||
};
|
||||
|
||||
EGUIEDIT_MODE getModeFromPos(core::position2di p);
|
||||
|
||||
EGUIEDIT_MODE CurrentMode;
|
||||
EGUIEDIT_MODE MouseOverMode;
|
||||
core::position2di DragStart;
|
||||
core::position2di StartMovePos;
|
||||
core::rect<s32> SelectedArea;
|
||||
|
||||
core::dimension2di GridSize;
|
||||
s32 MenuCommandStart;
|
||||
bool DrawGrid, UseGrid;
|
||||
|
||||
IGUIElement *MouseOverElement,
|
||||
*SelectedElement;
|
||||
CGUIEditWindow *EditorWindow;
|
||||
|
||||
core::rect<s32> TLRect;
|
||||
core::rect<s32> TRRect;
|
||||
core::rect<s32> TopRect;
|
||||
core::rect<s32> BLRect;
|
||||
core::rect<s32> LRect;
|
||||
core::rect<s32> RRect;
|
||||
core::rect<s32> BRRect;
|
||||
core::rect<s32> BRect;
|
||||
|
||||
//! Some gui-elements can't be created in this editor
|
||||
core::array<EGUI_ELEMENT_TYPE> UnusableElementTypeFilter;
|
||||
};
|
||||
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
||||
#endif
|
||||
|
@ -1,114 +0,0 @@
|
||||
#ifndef __C_GUI_ENUM_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_ENUM_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "CGUIAttribute.h"
|
||||
#include "IGUIComboBox.h"
|
||||
#include "IGUIEditBox.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class CGUIEnumAttribute : public CGUIAttribute
|
||||
{
|
||||
public:
|
||||
//
|
||||
CGUIEnumAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
CGUIAttribute(environment, parent, myParentID),
|
||||
AttribComboBox(0), AttribEditBox(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual ~CGUIEnumAttribute()
|
||||
{
|
||||
if (AttribComboBox)
|
||||
AttribComboBox->drop();
|
||||
if (AttribEditBox)
|
||||
AttribEditBox->drop();
|
||||
}
|
||||
|
||||
// save the attribute and possibly post the event to its parent
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
|
||||
if (AttribComboBox)
|
||||
{
|
||||
AttribComboBox->remove();
|
||||
AttribComboBox->drop();
|
||||
AttribComboBox = 0;
|
||||
}
|
||||
|
||||
if (AttribEditBox)
|
||||
{
|
||||
AttribEditBox->remove();
|
||||
AttribEditBox->drop();
|
||||
AttribEditBox = 0;
|
||||
}
|
||||
|
||||
core::array<core::stringc> outLiterals;
|
||||
attribs->getAttributeEnumerationLiteralsOfEnumeration(attribIndex, outLiterals);
|
||||
|
||||
core::rect<s32> r = getAbsolutePosition();
|
||||
core::rect<s32> r2(0, Environment->getSkin()->getFont()->getDimension(L"A").Height + 10,
|
||||
r.getWidth() - 5,
|
||||
Environment->getSkin()->getFont()->getDimension(L"A").Height*2 + 20 );
|
||||
|
||||
if (outLiterals.size() > 0)
|
||||
{
|
||||
AttribComboBox = Environment->addComboBox(r2, this, -1);
|
||||
for (u32 i=0; i<outLiterals.size(); ++i)
|
||||
AttribComboBox->addItem( core::stringw(outLiterals[i].c_str()).c_str());
|
||||
|
||||
AttribComboBox->setSelected( attribs->getAttributeAsInt(attribIndex) );
|
||||
|
||||
AttribComboBox->grab();
|
||||
AttribComboBox->setSubElement(true);
|
||||
AttribComboBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
AttribEditBox = Environment->addEditBox(
|
||||
attribs->getAttributeAsStringW(attribIndex).c_str(),
|
||||
r2, true, this, -1);
|
||||
AttribEditBox->grab();
|
||||
AttribEditBox->setSubElement(true);
|
||||
AttribEditBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
}
|
||||
|
||||
CGUIAttribute::setAttrib(attribs, attribIndex);
|
||||
}
|
||||
|
||||
//! save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (!Attribs)
|
||||
return true;
|
||||
|
||||
if (AttribComboBox)
|
||||
Attribs->setAttribute(Index, AttribComboBox->getText());
|
||||
else if (AttribEditBox)
|
||||
Attribs->setAttribute(Index, AttribEditBox->getText());
|
||||
|
||||
return CGUIAttribute::updateAttrib(sendEvent);
|
||||
}
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_ENUMATTRIBUTE];
|
||||
}
|
||||
|
||||
private:
|
||||
IGUIComboBox* AttribComboBox;
|
||||
IGUIEditBox* AttribEditBox;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
||||
|
@ -1,340 +0,0 @@
|
||||
// Copyright 2006-2012 Asger Feldthaus
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
/*
|
||||
Originally Klasker's but I've messed around with it lots - Gaz
|
||||
*/
|
||||
|
||||
#include "CGUIPanel.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIScrollBar.h"
|
||||
#include "IGUITabControl.h"
|
||||
#include "IVideoDriver.h"
|
||||
|
||||
const int SCROLL_BAR_SIZE = 16; // Scroll bars are 16 pixels wide
|
||||
const int BORDER_WIDTH = 2;
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
CGUIPanel::CGUIPanel(IGUIEnvironment* environment, IGUIElement* parent, s32 id, const core::rect<s32>& rectangle,
|
||||
bool border, E_SCROLL_BAR_MODE vMode, E_SCROLL_BAR_MODE hMode)
|
||||
: IGUIElement(EGUIET_ELEMENT, environment, parent, id, rectangle),
|
||||
VScrollBar(0), HScrollBar(0), ClipPane(0), InnerPane(0),
|
||||
VScrollBarMode(vMode), HScrollBarMode(hMode), NeedsUpdate(true), Border(border)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUIPanel");
|
||||
#endif
|
||||
|
||||
s32 width = rectangle.getWidth();
|
||||
s32 height = rectangle.getHeight();
|
||||
|
||||
core::rect<s32> rct = core::rect<s32>(width - SCROLL_BAR_SIZE,0, width, height);
|
||||
|
||||
VScrollBar = environment->addScrollBar(false, rct, 0, id);
|
||||
VScrollBar->setSubElement(true);
|
||||
VScrollBar->setTabStop(false);
|
||||
VScrollBar->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
VScrollBar->grab();
|
||||
IGUIElement::addChild(VScrollBar);
|
||||
|
||||
rct = core::rect<s32>(0, height - SCROLL_BAR_SIZE, width - SCROLL_BAR_SIZE,height );
|
||||
|
||||
HScrollBar = environment->addScrollBar(true, rct, 0, id);
|
||||
HScrollBar->setSubElement(true);
|
||||
HScrollBar->setTabStop(false);
|
||||
HScrollBar->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT);
|
||||
HScrollBar->grab();
|
||||
IGUIElement::addChild(HScrollBar);
|
||||
|
||||
rct = core::rect<s32>(0,0, width - SCROLL_BAR_SIZE, height - SCROLL_BAR_SIZE);
|
||||
|
||||
ClipPane = environment->addTab( rct, 0, -1);
|
||||
ClipPane->setSubElement(true);
|
||||
ClipPane->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
ClipPane->grab();
|
||||
IGUIElement::addChild(ClipPane);
|
||||
|
||||
InnerPane = environment->addTab(rct, ClipPane, -1);
|
||||
InnerPane->setSubElement(true);
|
||||
InnerPane->grab();
|
||||
|
||||
calculateClientArea();
|
||||
resizeInnerPane();
|
||||
}
|
||||
|
||||
CGUIPanel::~CGUIPanel()
|
||||
{
|
||||
// because the inner pane has the list of children, we need to remove the outer ones manually
|
||||
IGUIElement::removeChild(VScrollBar);
|
||||
IGUIElement::removeChild(HScrollBar);
|
||||
IGUIElement::removeChild(ClipPane);
|
||||
|
||||
// now we can drop the others
|
||||
VScrollBar->drop();
|
||||
HScrollBar->drop();
|
||||
ClipPane->drop();
|
||||
InnerPane->drop();
|
||||
}
|
||||
|
||||
|
||||
void CGUIPanel::draw()
|
||||
{
|
||||
if (NeedsUpdate)
|
||||
{
|
||||
calculateClientArea();
|
||||
resizeInnerPane();
|
||||
NeedsUpdate = false;
|
||||
}
|
||||
|
||||
IGUISkin* skin = Environment->getSkin();
|
||||
if (Border && skin)
|
||||
{
|
||||
skin->draw3DSunkenPane( this, skin->getColor( EGDC_APP_WORKSPACE), false, true, AbsoluteRect, &AbsoluteClippingRect );
|
||||
}
|
||||
|
||||
IGUIElement::draw();
|
||||
}
|
||||
|
||||
void CGUIPanel::addChild(IGUIElement *child)
|
||||
{
|
||||
// add the child to the inner pane
|
||||
InnerPane->addChild(child);
|
||||
|
||||
NeedsUpdate = true;
|
||||
}
|
||||
|
||||
void CGUIPanel::removeChild(IGUIElement *child)
|
||||
{
|
||||
InnerPane->removeChild(child);
|
||||
|
||||
NeedsUpdate = true;
|
||||
}
|
||||
|
||||
//! returns children of the inner pane
|
||||
const core::list<IGUIElement*>& CGUIPanel::getChildren()
|
||||
{
|
||||
return InnerPane->getChildren();
|
||||
}
|
||||
|
||||
bool CGUIPanel::hasBorder() const
|
||||
{
|
||||
return Border;
|
||||
}
|
||||
|
||||
void CGUIPanel::setBorder( bool enabled )
|
||||
{
|
||||
Border = enabled;
|
||||
}
|
||||
|
||||
IGUIScrollBar* CGUIPanel::getVScrollBar() const
|
||||
{
|
||||
return VScrollBar;
|
||||
}
|
||||
|
||||
IGUIScrollBar* CGUIPanel::getHScrollBar() const
|
||||
{
|
||||
return HScrollBar;
|
||||
}
|
||||
|
||||
E_SCROLL_BAR_MODE CGUIPanel::getVScrollBarMode() const
|
||||
{
|
||||
return VScrollBarMode;
|
||||
}
|
||||
|
||||
void CGUIPanel::setVScrollBarMode( E_SCROLL_BAR_MODE mode )
|
||||
{
|
||||
VScrollBarMode = mode;
|
||||
NeedsUpdate = true;
|
||||
}
|
||||
|
||||
E_SCROLL_BAR_MODE CGUIPanel::getHScrollBarMode() const
|
||||
{
|
||||
return HScrollBarMode;
|
||||
}
|
||||
|
||||
void CGUIPanel::setHScrollBarMode(E_SCROLL_BAR_MODE mode)
|
||||
{
|
||||
HScrollBarMode = mode;
|
||||
NeedsUpdate = true;
|
||||
}
|
||||
|
||||
bool CGUIPanel::OnEvent(const SEvent &event)
|
||||
{
|
||||
// Redirect mouse wheel to scrollbar
|
||||
if (event.EventType == EET_MOUSE_INPUT_EVENT && event.MouseInput.Event == EMIE_MOUSE_WHEEL)
|
||||
{
|
||||
if (VScrollBar->isVisible())
|
||||
{
|
||||
Environment->setFocus(VScrollBar);
|
||||
VScrollBar->OnEvent(event);
|
||||
return true;
|
||||
}
|
||||
else if (VScrollBar->isVisible())
|
||||
{
|
||||
Environment->setFocus(HScrollBar);
|
||||
HScrollBar->OnEvent(event);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (event.EventType == EET_GUI_EVENT && event.GUIEvent.EventType == EGET_SCROLL_BAR_CHANGED &&
|
||||
(event.GUIEvent.Caller == HScrollBar || event.GUIEvent.Caller == VScrollBar) )
|
||||
{
|
||||
moveInnerPane();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return IGUIElement::OnEvent(event);
|
||||
}
|
||||
|
||||
void CGUIPanel::moveInnerPane()
|
||||
{
|
||||
core::dimension2d<s32> dim = InnerPane->getAbsolutePosition().getSize();
|
||||
core::position2d<s32> newpos(HScrollBar->isVisible() ? -HScrollBar->getPos() : 0 , VScrollBar->isVisible() ? -VScrollBar->getPos() : 0);
|
||||
core::rect<s32> r(newpos, newpos + dim);
|
||||
InnerPane->setRelativePosition(r);
|
||||
}
|
||||
|
||||
|
||||
void CGUIPanel::updateAbsolutePosition()
|
||||
{
|
||||
IGUIElement::updateAbsolutePosition();
|
||||
calculateClientArea();
|
||||
resizeInnerPane();
|
||||
}
|
||||
|
||||
|
||||
void CGUIPanel::resizeInnerPane()
|
||||
{
|
||||
if (!HScrollBar || !VScrollBar || !InnerPane || !ClipPane)
|
||||
return;
|
||||
|
||||
// get outer pane size
|
||||
core::rect<s32> outerRect = ClipPane->getRelativePosition();
|
||||
|
||||
// resize flexible children depending on outer pane
|
||||
InnerPane->setRelativePosition(outerRect);
|
||||
|
||||
// get desired size (total size of all children)
|
||||
core::rect<s32> totalRect(0, 0, 0, 0);
|
||||
|
||||
core::list<IGUIElement*>::ConstIterator it;
|
||||
|
||||
for (it = InnerPane->getChildren().begin();
|
||||
it != InnerPane->getChildren().end(); ++it)
|
||||
{
|
||||
core::rect<s32> rct = (*it)->getRelativePosition();
|
||||
totalRect.addInternalPoint(rct.UpperLeftCorner);
|
||||
totalRect.addInternalPoint(rct.LowerRightCorner);
|
||||
}
|
||||
|
||||
// move children if pane needs to grow
|
||||
core::position2di adjustedMovement(0,0);
|
||||
|
||||
if (totalRect.UpperLeftCorner.X < 0)
|
||||
adjustedMovement.X = -totalRect.UpperLeftCorner.X;
|
||||
if (totalRect.UpperLeftCorner.Y < 0)
|
||||
adjustedMovement.Y = -totalRect.UpperLeftCorner.Y;
|
||||
|
||||
if (adjustedMovement.X > 0 || adjustedMovement.Y > 0)
|
||||
{
|
||||
totalRect += adjustedMovement;
|
||||
|
||||
for (it = InnerPane->getChildren().begin();
|
||||
it != InnerPane->getChildren().end(); ++it )
|
||||
{
|
||||
(*it)->move(adjustedMovement);
|
||||
}
|
||||
}
|
||||
|
||||
// make sure the inner pane is at least as big as the outer
|
||||
if (totalRect.getWidth() < outerRect.getWidth())
|
||||
{
|
||||
totalRect.UpperLeftCorner.X = 0;
|
||||
totalRect.LowerRightCorner.X = outerRect.getWidth();
|
||||
}
|
||||
if (totalRect.getHeight() < outerRect.getHeight())
|
||||
{
|
||||
totalRect.UpperLeftCorner.Y = 0;
|
||||
totalRect.LowerRightCorner.Y = outerRect.getHeight();
|
||||
}
|
||||
|
||||
InnerPane->setRelativePosition(totalRect);
|
||||
|
||||
// scrollbars
|
||||
if ( HScrollBarMode != ESBM_ALWAYS_INVISIBLE &&
|
||||
(totalRect.getWidth() > outerRect.getWidth() || HScrollBarMode == ESBM_ALWAYS_VISIBLE) )
|
||||
{
|
||||
HScrollBar->setVisible(true);
|
||||
HScrollBar->setMax(totalRect.getWidth() - outerRect.getWidth());
|
||||
bringToFront(HScrollBar);
|
||||
}
|
||||
else
|
||||
HScrollBar->setVisible(false);
|
||||
|
||||
if ( VScrollBarMode != ESBM_ALWAYS_INVISIBLE &&
|
||||
(totalRect.getHeight() > outerRect.getHeight() || VScrollBarMode == ESBM_ALWAYS_VISIBLE) )
|
||||
{
|
||||
VScrollBar->setVisible(true);
|
||||
VScrollBar->setMax(totalRect.getHeight() - outerRect.getHeight());
|
||||
bringToFront(VScrollBar);
|
||||
}
|
||||
else
|
||||
VScrollBar->setVisible(false);
|
||||
|
||||
// move to adjust for scrollbar pos
|
||||
moveInnerPane();
|
||||
}
|
||||
|
||||
void CGUIPanel::calculateClientArea()
|
||||
{
|
||||
core::rect<s32> ClientArea(0,0, AbsoluteRect.getWidth(),AbsoluteRect.getHeight());
|
||||
|
||||
if (VScrollBar->isVisible())
|
||||
ClientArea.LowerRightCorner.X -= VScrollBar->getRelativePosition().getWidth();
|
||||
|
||||
if (HScrollBar->isVisible())
|
||||
ClientArea.LowerRightCorner.Y -= HScrollBar->getRelativePosition().getHeight();
|
||||
|
||||
if (Border)
|
||||
{
|
||||
ClientArea.UpperLeftCorner += core::position2d<s32>( BORDER_WIDTH, BORDER_WIDTH );
|
||||
ClientArea.LowerRightCorner -= core::position2d<s32>( BORDER_WIDTH, BORDER_WIDTH );
|
||||
}
|
||||
|
||||
ClipPane->setRelativePosition(ClientArea);
|
||||
}
|
||||
|
||||
core::rect<s32> CGUIPanel::getClientArea() const
|
||||
{
|
||||
return ClipPane->getRelativePosition();
|
||||
}
|
||||
|
||||
void CGUIPanel::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options)
|
||||
{
|
||||
IGUIElement::serializeAttributes(out, options);
|
||||
|
||||
out->addBool("border", Border);
|
||||
out->addEnum("horizontalScrollBar", HScrollBarMode, GUIScrollBarModeNames );
|
||||
out->addEnum("verticalScrollBar", VScrollBarMode, GUIScrollBarModeNames );
|
||||
}
|
||||
|
||||
void CGUIPanel::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options)
|
||||
{
|
||||
IGUIElement::deserializeAttributes(in, options);
|
||||
|
||||
setBorder(in->getAttributeAsBool("border"));
|
||||
setHScrollBarMode((E_SCROLL_BAR_MODE)in->getAttributeAsEnumeration("horizontalScrollBar", GUIScrollBarModeNames));
|
||||
setVScrollBarMode((E_SCROLL_BAR_MODE)in->getAttributeAsEnumeration("verticalScrollBar", GUIScrollBarModeNames));
|
||||
}
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
@ -1,128 +0,0 @@
|
||||
// Copyright 2006-2012 Asger Feldthaus
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#ifndef _C_GUI_PANEL_H_
|
||||
#define _C_GUI_PANEL_H_
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class IGUIScrollBar;
|
||||
class IGUITab;
|
||||
|
||||
enum E_SCROLL_BAR_MODE
|
||||
{
|
||||
//! The scrollbar will only show up when needed.
|
||||
ESBM_AUTOMATIC = 0,
|
||||
|
||||
//! The scrollbar will never be visible.
|
||||
ESBM_ALWAYS_INVISIBLE,
|
||||
|
||||
//! The scrollbar will always the visible.
|
||||
ESBM_ALWAYS_VISIBLE,
|
||||
|
||||
//! just a count of how many are in this enum
|
||||
ESBM_COUNT
|
||||
};
|
||||
|
||||
const c8* const GUIScrollBarModeNames[] =
|
||||
{
|
||||
"automatic",
|
||||
"alwaysInvisible",
|
||||
"alwaysVisible",
|
||||
0
|
||||
};
|
||||
|
||||
class CGUIPanel : public IGUIElement
|
||||
{
|
||||
public:
|
||||
CGUIPanel( IGUIEnvironment* environment, IGUIElement* parent, s32 id=-1,
|
||||
const core::rect<s32>& rectangle = core::rect<s32>(0,0,100,100),
|
||||
bool border=false,
|
||||
E_SCROLL_BAR_MODE vMode=ESBM_AUTOMATIC,
|
||||
E_SCROLL_BAR_MODE hMode=ESBM_ALWAYS_INVISIBLE );
|
||||
|
||||
virtual ~CGUIPanel();
|
||||
|
||||
//! draws the panel and its children
|
||||
virtual void draw();
|
||||
|
||||
//! returns true if it has a border, false if not
|
||||
bool hasBorder() const;
|
||||
|
||||
//! sets whether the element draws a border
|
||||
void setBorder(bool enabled);
|
||||
|
||||
//! returns a pointer to the vertical scrollbar
|
||||
IGUIScrollBar* getVScrollBar() const;
|
||||
|
||||
//! returns a pointer to the horizontal scrollbar
|
||||
IGUIScrollBar* getHScrollBar() const;
|
||||
|
||||
//! returns the vertical scrollbar visibility rule
|
||||
E_SCROLL_BAR_MODE getVScrollBarMode() const;
|
||||
|
||||
//! sets the vertical scrollbar visibility rule
|
||||
void setVScrollBarMode(E_SCROLL_BAR_MODE mode);
|
||||
|
||||
//! returns the horizontal scrollbar visibility rule
|
||||
E_SCROLL_BAR_MODE getHScrollBarMode() const;
|
||||
|
||||
//! sets the horizontal scrollbar visibility rule
|
||||
void setHScrollBarMode(E_SCROLL_BAR_MODE mode);
|
||||
|
||||
//! returns the visible area inside the panel, excluding scrollbar and border
|
||||
core::rect<s32> getClientArea() const;
|
||||
|
||||
virtual bool OnEvent(const SEvent &event);
|
||||
|
||||
//! adds a child to the panel
|
||||
virtual void addChild(IGUIElement* child);
|
||||
|
||||
//! removes a child from the panel
|
||||
virtual void removeChild(IGUIElement* child);
|
||||
|
||||
//! updates the absolute position
|
||||
virtual void updateAbsolutePosition();
|
||||
|
||||
//! returns children of the inner pane
|
||||
virtual const core::list<IGUIElement*>& getChildren();
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_GUIPANEL];
|
||||
}
|
||||
|
||||
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0);
|
||||
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0);
|
||||
|
||||
protected:
|
||||
void moveInnerPane();
|
||||
void resizeInnerPane();
|
||||
void calculateClientArea();
|
||||
|
||||
private:
|
||||
|
||||
IGUIScrollBar* VScrollBar;
|
||||
IGUIScrollBar* HScrollBar;
|
||||
IGUITab* ClipPane;
|
||||
IGUITab* InnerPane;
|
||||
|
||||
E_SCROLL_BAR_MODE VScrollBarMode;
|
||||
E_SCROLL_BAR_MODE HScrollBarMode;
|
||||
|
||||
bool NeedsUpdate;
|
||||
bool Border;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,70 +0,0 @@
|
||||
#ifndef __C_GUI_STRING_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_STRING_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "CGUIAttribute.h"
|
||||
#include "IGUIEditBox.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class CGUIStringAttribute : public CGUIAttribute
|
||||
{
|
||||
public:
|
||||
//
|
||||
CGUIStringAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
CGUIAttribute(environment, parent, myParentID),
|
||||
AttribEditBox(0)
|
||||
{
|
||||
core::rect<s32> r = getAbsolutePosition();
|
||||
core::rect<s32> r2(0, Environment->getSkin()->getFont()->getDimension(L"A").Height + 10,
|
||||
r.getWidth() - 5,
|
||||
Environment->getSkin()->getFont()->getDimension(L"A").Height*2 + 15 );
|
||||
|
||||
AttribEditBox = environment->addEditBox(0, r2, true, this, -1);
|
||||
AttribEditBox->grab();
|
||||
AttribEditBox->setSubElement(true);
|
||||
AttribEditBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
|
||||
}
|
||||
|
||||
virtual ~CGUIStringAttribute()
|
||||
{
|
||||
if (AttribEditBox)
|
||||
AttribEditBox->drop();
|
||||
}
|
||||
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
AttribEditBox->setText(attribs->getAttributeAsStringW(attribIndex).c_str());
|
||||
CGUIAttribute::setAttrib(attribs, attribIndex);
|
||||
}
|
||||
|
||||
//! save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (!Attribs)
|
||||
return true;
|
||||
|
||||
Attribs->setAttribute(Index, AttribEditBox->getText());
|
||||
AttribEditBox->setText(Attribs->getAttributeAsStringW(Index).c_str());
|
||||
|
||||
return CGUIAttribute::updateAttrib(sendEvent);
|
||||
}
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_STRINGATTRIBUTE];
|
||||
}
|
||||
|
||||
private:
|
||||
IGUIEditBox* AttribEditBox;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,140 +0,0 @@
|
||||
#ifndef __C_GUI_TEXTURE_ATTRIBUTE_H_INCLUDED__
|
||||
#define __C_GUI_TEXTURE_ATTRIBUTE_H_INCLUDED__
|
||||
|
||||
#include "CGUIAttribute.h"
|
||||
#include "IGUIEditBox.h"
|
||||
#include "IGUIImage.h"
|
||||
#include "IGUIButton.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
class CGUITextureAttribute : public CGUIAttribute
|
||||
{
|
||||
public:
|
||||
//
|
||||
CGUITextureAttribute(IGUIEnvironment* environment, IGUIElement *parent, s32 myParentID) :
|
||||
CGUIAttribute(environment, parent, myParentID),
|
||||
AttribEditBox(0), AttribImage(0), AttribButton(0)
|
||||
{
|
||||
IGUISkin* skin = Environment->getSkin();
|
||||
|
||||
core::rect<s32> r = getAbsolutePosition();
|
||||
s32 topy = skin->getFont()->getDimension(L"A").Height + 10;
|
||||
s32 h = skin->getFont()->getDimension(L"A").Height + 5;
|
||||
|
||||
AttribImage = environment->addImage(0, core::position2di(0, topy), false, this);
|
||||
AttribImage->setRelativePosition( core::rect<s32>(0,topy, r.getWidth() - 5, 100+topy));
|
||||
AttribImage->grab();
|
||||
AttribImage->setSubElement(true);
|
||||
AttribImage->setScaleImage(true);
|
||||
AttribImage->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
|
||||
topy += 105;
|
||||
|
||||
core::rect<s32> r2(0, topy, r.getWidth() - 15 - skin->getSize(EGDS_CHECK_BOX_WIDTH), topy + h);
|
||||
core::rect<s32> br(r.getWidth() - 10 - skin->getSize(EGDS_CHECK_BOX_WIDTH), topy, r.getWidth(), topy + h);
|
||||
|
||||
AttribEditBox = environment->addEditBox(0, r2, true, this, -1);
|
||||
AttribEditBox->grab();
|
||||
AttribEditBox->setSubElement(true);
|
||||
AttribEditBox->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
|
||||
AttribButton = environment->addButton(br, this, -1, L"...");
|
||||
AttribButton->grab();
|
||||
AttribButton->setSubElement(true);
|
||||
AttribButton->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
//AttribButton->setSpriteBank(skin->getSpriteBank());
|
||||
//AttribButton->setSprite(EGBS_BUTTON_UP, skin->getIcon(EGDI_FILE), skin->getColor(EGDC_WINDOW_SYMBOL));
|
||||
//AttribButton->setSprite(EGBS_BUTTON_DOWN, skin->getIcon(EGDI_FILE), skin->getColor(EGDC_WINDOW_SYMBOL), true);
|
||||
}
|
||||
|
||||
virtual ~CGUITextureAttribute()
|
||||
{
|
||||
if (AttribEditBox)
|
||||
AttribEditBox->drop();
|
||||
if (AttribImage)
|
||||
AttribImage->drop();
|
||||
if (AttribButton)
|
||||
AttribButton->drop();
|
||||
}
|
||||
|
||||
virtual bool OnEvent(const SEvent &e)
|
||||
{
|
||||
|
||||
if (IsEnabled)
|
||||
{
|
||||
switch (e.EventType)
|
||||
{
|
||||
case EET_GUI_EVENT:
|
||||
switch (e.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_BUTTON_CLICKED:
|
||||
// button click: open file dialog
|
||||
if (e.GUIEvent.Caller == AttribButton)
|
||||
{
|
||||
//Environment->addGUIElement("textureBrowser", Environment->getRootGUIElement());
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case EGET_FILE_SELECTED:
|
||||
// file selected: change editbox value and set event
|
||||
|
||||
return true;
|
||||
case EGET_FILE_CHOOSE_DIALOG_CANCELLED:
|
||||
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case EET_KEY_INPUT_EVENT:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return CGUIAttribute::OnEvent(e);
|
||||
}
|
||||
|
||||
virtual void setAttrib(io::IAttributes *attribs, u32 attribIndex)
|
||||
{
|
||||
AttribEditBox->setText(attribs->getAttributeAsStringW(attribIndex).c_str());
|
||||
AttribImage->setImage(attribs->getAttributeAsTexture(Index));
|
||||
|
||||
CGUIAttribute::setAttrib(attribs, attribIndex);
|
||||
}
|
||||
|
||||
//! save the attribute and possibly post the event to its parent
|
||||
virtual bool updateAttrib(bool sendEvent=true)
|
||||
{
|
||||
if (!Attribs)
|
||||
return true;
|
||||
|
||||
Attribs->setAttribute(Index, AttribEditBox->getText());
|
||||
core::stringw tmp = Attribs->getAttributeAsStringW(Index);
|
||||
AttribEditBox->setText(Attribs->getAttributeAsStringW(Index).c_str());
|
||||
AttribImage->setImage(Attribs->getAttributeAsTexture(Index));
|
||||
|
||||
return CGUIAttribute::updateAttrib(sendEvent);
|
||||
}
|
||||
|
||||
//! Returns the type name of the gui element.
|
||||
virtual const c8* getTypeName() const
|
||||
{
|
||||
return GUIEditElementTypeNames[EGUIEDIT_TEXTUREATTRIBUTE];
|
||||
}
|
||||
|
||||
private:
|
||||
IGUIEditBox* AttribEditBox;
|
||||
IGUIImage* AttribImage;
|
||||
IGUIButton* AttribButton;
|
||||
};
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
||||
|
||||
#endif
|
@ -1,336 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt / Gaz Davidson
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#include "CGUITextureCacheBrowser.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIButton.h"
|
||||
#include "IGUISkin.h"
|
||||
#include "IGUIFont.h"
|
||||
#include "IVideoDriver.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
CGUITextureCacheBrowser::CGUITextureCacheBrowser(IGUIEnvironment* environment, s32 id, IGUIElement *parent)
|
||||
: IGUIWindow(environment, parent, id, core::rect<s32>(0,0,300,200)),
|
||||
CloseButton(0), Panel(0), SelectedTexture(-1), Dragging(false), IsDraggable(true)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
setDebugName("CGUITextureCacheBrowser");
|
||||
#endif
|
||||
|
||||
IGUISkin* skin = 0;
|
||||
IGUISpriteBank* sprites = 0;
|
||||
video::SColor color(255,255,255,255);
|
||||
|
||||
if (environment)
|
||||
skin = environment->getSkin();
|
||||
|
||||
s32 buttonw = 15;
|
||||
if (skin)
|
||||
{
|
||||
buttonw = skin->getSize(EGDS_WINDOW_BUTTON_WIDTH);
|
||||
sprites = skin->getSpriteBank();
|
||||
color = skin->getColor(EGDC_WINDOW_SYMBOL);
|
||||
}
|
||||
s32 posx = RelativeRect.getWidth() - buttonw - 4;
|
||||
|
||||
CloseButton = Environment->addButton(core::rect<s32>(posx, 3, posx + buttonw, 3 + buttonw), this, -1,
|
||||
L"", skin ? skin->getDefaultText(EGDT_WINDOW_CLOSE) : L"Close" );
|
||||
CloseButton->setSubElement(true);
|
||||
CloseButton->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
|
||||
if (sprites)
|
||||
{
|
||||
CloseButton->setSpriteBank(sprites);
|
||||
CloseButton->setSprite(EGBS_BUTTON_UP, skin->getIcon(EGDI_WINDOW_CLOSE), color);
|
||||
CloseButton->setSprite(EGBS_BUTTON_DOWN, skin->getIcon(EGDI_WINDOW_CLOSE), color);
|
||||
}
|
||||
|
||||
CloseButton->grab();
|
||||
|
||||
// window title
|
||||
Text = L"Texture Browser";
|
||||
|
||||
// panel element
|
||||
Panel = new CGUIPanel(environment, this);
|
||||
Panel->setRelativePosition( core::rect<s32>(1, buttonw + 5, 151, RelativeRect.getHeight() - 1));
|
||||
Panel->setAlignment(EGUIA_UPPERLEFT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
|
||||
Panel->setBorder(true);
|
||||
Panel->setSubElement(true);
|
||||
|
||||
// some buttons
|
||||
|
||||
|
||||
// add images from texture cache
|
||||
updateImageList();
|
||||
|
||||
}
|
||||
|
||||
CGUITextureCacheBrowser::~CGUITextureCacheBrowser()
|
||||
{
|
||||
if (CloseButton)
|
||||
CloseButton->drop();
|
||||
if (Panel)
|
||||
Panel->drop();
|
||||
|
||||
// drop images
|
||||
u32 i;
|
||||
for (i=0; i<Images.size(); ++i)
|
||||
{
|
||||
Images[i]->drop();
|
||||
Images[i]->remove();
|
||||
}
|
||||
Images.clear();
|
||||
}
|
||||
void CGUITextureCacheBrowser::updateImageList()
|
||||
{
|
||||
if (!Panel)
|
||||
return;
|
||||
|
||||
video::IVideoDriver* Driver = Environment->getVideoDriver();
|
||||
|
||||
// clear images
|
||||
u32 i;
|
||||
for (i=0; i<Images.size(); ++i)
|
||||
{
|
||||
Images[i]->drop();
|
||||
Images[i]->remove();
|
||||
}
|
||||
Images.clear();
|
||||
|
||||
u32 count = (u32)Driver->getTextureCount();
|
||||
|
||||
s32 h = Panel->getClientArea().getWidth()-10;
|
||||
s32 hw = h/2;
|
||||
core::rect<s32> pos(Panel->getClientArea().getCenter().X - Panel->getAbsolutePosition().UpperLeftCorner.X - hw, 5,
|
||||
Panel->getClientArea().getCenter().X - Panel->getAbsolutePosition().UpperLeftCorner.X + hw, h+5);
|
||||
|
||||
core::position2di moveDist(0, h+5);
|
||||
|
||||
for (u32 i=0; i<count; ++i)
|
||||
{
|
||||
core::stringw details;
|
||||
video::ITexture* tex = Driver->getTextureByIndex(i);
|
||||
details = L"File name: ";
|
||||
details += tex->getName();
|
||||
details += L"\nFormat: ";
|
||||
video::ECOLOR_FORMAT cf = tex->getColorFormat();
|
||||
|
||||
bool alpha = false;
|
||||
|
||||
switch (cf)
|
||||
{
|
||||
case video::ECF_A1R5G5B5:
|
||||
details += L"A1R5G5B5 (16-bit with 1-bit alpha channel)\n";
|
||||
alpha = true;
|
||||
break;
|
||||
case video::ECF_R5G6B5:
|
||||
details += L"R5G6B5 (16-bit, no alpha channel)\n";
|
||||
break;
|
||||
case video::ECF_R8G8B8:
|
||||
details += L"R8G8B8 (16-bit, no alpha channel)\n";
|
||||
break;
|
||||
case video::ECF_A8R8G8B8:
|
||||
details += L"R8G8B8 (32-bit with 8-bit alpha channel)\n";
|
||||
alpha = true;
|
||||
break;
|
||||
default:
|
||||
details += L"Unknown\n";
|
||||
}
|
||||
|
||||
core::dimension2du osize = tex->getOriginalSize();
|
||||
core::dimension2du size = tex->getOriginalSize();
|
||||
|
||||
details += "Size: ";
|
||||
details += size.Width;
|
||||
details += "x";
|
||||
details += size.Height;
|
||||
|
||||
if (osize != size)
|
||||
{
|
||||
details += "\nOriginal Size: ";
|
||||
details += osize.Width;
|
||||
details += "x";
|
||||
details += osize.Height;
|
||||
}
|
||||
|
||||
details += L"\nMip-maps: ";
|
||||
|
||||
if (tex->hasMipMaps())
|
||||
details += L"Yes\n";
|
||||
else
|
||||
details += L"No\n";
|
||||
|
||||
IGUIImage* img = Environment->addImage(tex, core::position2di(1,1), alpha, Panel, i);
|
||||
img->grab();
|
||||
Images.push_back(img);
|
||||
img->setRelativePosition(pos);
|
||||
img->setToolTipText(details.c_str());
|
||||
img->setScaleImage(true);
|
||||
img->setColor( SelectedTexture == (s32)i ? video::SColor(255,255,255,255) : video::SColor(128,128,128,128) );
|
||||
|
||||
pos = pos + moveDist;
|
||||
}
|
||||
}
|
||||
|
||||
void CGUITextureCacheBrowser::updateAbsolutePosition()
|
||||
{
|
||||
IGUIWindow::updateAbsolutePosition();
|
||||
updateImageList();
|
||||
}
|
||||
|
||||
//! called if an event happened.
|
||||
bool CGUITextureCacheBrowser::OnEvent(const SEvent &event)
|
||||
{
|
||||
switch(event.EventType)
|
||||
{
|
||||
case EET_GUI_EVENT:
|
||||
if (event.GUIEvent.EventType == EGET_ELEMENT_FOCUS_LOST)
|
||||
{
|
||||
if (event.GUIEvent.Caller == (IGUIElement*)this)
|
||||
Dragging = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
if (event.GUIEvent.EventType == EGET_BUTTON_CLICKED)
|
||||
{
|
||||
if (event.GUIEvent.Caller == CloseButton)
|
||||
{
|
||||
remove();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EET_MOUSE_INPUT_EVENT:
|
||||
switch(event.MouseInput.Event)
|
||||
{
|
||||
case EMIE_LMOUSE_PRESSED_DOWN:
|
||||
DragStart.X = event.MouseInput.X;
|
||||
DragStart.Y = event.MouseInput.Y;
|
||||
|
||||
if (getElementFromPoint(DragStart) == this)
|
||||
{
|
||||
if (!Environment->hasFocus(this))
|
||||
{
|
||||
Dragging = IsDraggable;
|
||||
//Environment->setFocus(this);
|
||||
if (Parent)
|
||||
Parent->bringToFront(this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Panel->getAbsolutePosition().isPointInside(DragStart))
|
||||
{
|
||||
// select an image
|
||||
IGUIElement* el = Panel->getElementFromPoint(DragStart);
|
||||
if (el && el != Panel)
|
||||
{
|
||||
if (el->getType() == EGUIET_IMAGE)
|
||||
{
|
||||
setSelected(el->getID());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setSelected();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EMIE_LMOUSE_LEFT_UP:
|
||||
Dragging = false;
|
||||
//Environment->removeFocus(this);
|
||||
return true;
|
||||
case EMIE_MOUSE_MOVED:
|
||||
if (Dragging)
|
||||
{
|
||||
// gui window should not be dragged outside its parent
|
||||
if (Parent)
|
||||
if (event.MouseInput.X < Parent->getAbsolutePosition().UpperLeftCorner.X +1 ||
|
||||
event.MouseInput.Y < Parent->getAbsolutePosition().UpperLeftCorner.Y +1 ||
|
||||
event.MouseInput.X > Parent->getAbsolutePosition().LowerRightCorner.X -1 ||
|
||||
event.MouseInput.Y > Parent->getAbsolutePosition().LowerRightCorner.Y -1)
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
move(core::position2d<s32>(event.MouseInput.X - DragStart.X, event.MouseInput.Y - DragStart.Y));
|
||||
DragStart.X = event.MouseInput.X;
|
||||
DragStart.Y = event.MouseInput.Y;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return Parent ? Parent->OnEvent(event) : false;
|
||||
}
|
||||
|
||||
void CGUITextureCacheBrowser::setSelected(s32 index)
|
||||
{
|
||||
SelectedTexture = index;
|
||||
updateImageList();
|
||||
printf("Texture %d selected\n", index);
|
||||
}
|
||||
|
||||
void CGUITextureCacheBrowser::draw()
|
||||
{
|
||||
if (!IsVisible)
|
||||
return;
|
||||
|
||||
IGUISkin* skin = Environment->getSkin();
|
||||
|
||||
core::rect<s32> rect = AbsoluteRect;
|
||||
core::rect<s32> *cl = &AbsoluteClippingRect;
|
||||
|
||||
// draw body fast
|
||||
rect = skin->draw3DWindowBackground(this, true, skin->getColor(EGDC_ACTIVE_BORDER),
|
||||
AbsoluteRect, &AbsoluteClippingRect);
|
||||
|
||||
// draw window text
|
||||
if (Text.size())
|
||||
{
|
||||
rect.UpperLeftCorner.X += skin->getSize(EGDS_TEXT_DISTANCE_X);
|
||||
rect.UpperLeftCorner.Y += skin->getSize(EGDS_TEXT_DISTANCE_Y);
|
||||
rect.LowerRightCorner.X -= skin->getSize(EGDS_WINDOW_BUTTON_WIDTH) + 5;
|
||||
|
||||
IGUIFont* font = skin->getFont();
|
||||
if (font)
|
||||
font->draw(Text.c_str(), rect, skin->getColor(EGDC_ACTIVE_CAPTION), false, true, cl);
|
||||
}
|
||||
|
||||
IGUIElement::draw();
|
||||
}
|
||||
|
||||
|
||||
bool CGUITextureCacheBrowser::isDraggable() const
|
||||
{
|
||||
return IsDraggable;
|
||||
}
|
||||
|
||||
void CGUITextureCacheBrowser::setDraggable(bool draggable)
|
||||
{
|
||||
IsDraggable = draggable;
|
||||
|
||||
if (Dragging && !IsDraggable)
|
||||
Dragging = false;
|
||||
}
|
||||
|
||||
|
||||
//! Returns the rectangle of the drawable area (without border, without titlebar and without scrollbars)
|
||||
core::rect<s32> CGUITextureCacheBrowser::getClientRect() const
|
||||
{
|
||||
return core::recti();
|
||||
}
|
||||
|
||||
} // namespace gui
|
||||
} // namespace irr
|
@ -1,88 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt / Gaz Davidson
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#ifndef __C_GUI_TEXTURE_CACHE_BROWSER_H_INCLUDED__
|
||||
#define __C_GUI_TEXTURE_CACHE_BROWSER_H_INCLUDED__
|
||||
|
||||
#include "IGUIWindow.h"
|
||||
#include "CGUIPanel.h"
|
||||
#include "IGUIImage.h"
|
||||
#include "EGUIEditTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace gui
|
||||
{
|
||||
|
||||
//! Texture cache browser
|
||||
|
||||
const u32 TEXTURE_BROWSER_TEXTURE_SELECTED = 0x5E1EC7ED; // custom event number for texture selected
|
||||
|
||||
class CGUITextureCacheBrowser : public IGUIWindow
|
||||
{
|
||||
public:
|
||||
|
||||
//! constructor
|
||||
CGUITextureCacheBrowser(IGUIEnvironment* environment, s32 id=-1, IGUIElement *parent=0);
|
||||
|
||||
//! destructor
|
||||
~CGUITextureCacheBrowser();
|
||||
|
||||
//! event handler
|
||||
virtual bool OnEvent(const SEvent &event);
|
||||
|
||||
//! draws the element
|
||||
virtual void draw();
|
||||
|
||||
//! update absolute position
|
||||
virtual void updateAbsolutePosition();
|
||||
|
||||
//! this shoudln't be serialized, but this is included as it's an example
|
||||
virtual const c8* getTypeName() const { return "textureCacheBrowser"; }
|
||||
|
||||
//! Returns pointer to the close button
|
||||
virtual IGUIButton* getCloseButton() const { return CloseButton; }
|
||||
|
||||
//! Returns pointer to the minimize button
|
||||
virtual IGUIButton* getMinimizeButton() const { return 0;}
|
||||
|
||||
//! Returns pointer to the maximize button
|
||||
virtual IGUIButton* getMaximizeButton() const { return 0;}
|
||||
|
||||
//! get draggable
|
||||
virtual bool isDraggable() const;
|
||||
|
||||
//! get draggable
|
||||
virtual void setDraggable(bool draggable);
|
||||
|
||||
//! not used
|
||||
virtual core::rect<s32> getClientRect() const;
|
||||
virtual void setDrawBackground(bool draw) { }
|
||||
virtual bool getDrawBackground() const { return true; }
|
||||
virtual void setDrawTitlebar(bool draw) { }
|
||||
virtual bool getDrawTitlebar() const { return true; }
|
||||
|
||||
|
||||
void setSelected(s32 index=-1);
|
||||
|
||||
private:
|
||||
|
||||
void updateImageList();
|
||||
|
||||
core::array<IGUIImage*> Images;
|
||||
core::position2d<s32> DragStart;
|
||||
|
||||
IGUIButton* CloseButton;
|
||||
CGUIPanel* Panel;
|
||||
s32 SelectedTexture;
|
||||
bool Dragging;
|
||||
bool IsDraggable;
|
||||
};
|
||||
|
||||
|
||||
} // end namespace gui
|
||||
} // end namespace irr
|
||||
|
||||
#endif
|
||||
|
@ -1,99 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#include "CMemoryReadWriteFile.h"
|
||||
|
||||
using namespace irr;
|
||||
using namespace io;
|
||||
|
||||
CMemoryReadWriteFile::CMemoryReadWriteFile(const c8* filename)
|
||||
: Data(), FileName(filename), Pos(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
size_t CMemoryReadWriteFile::write(const void* buffer, size_t sizeToWrite)
|
||||
{
|
||||
// no point in writing 0 bytes
|
||||
if (sizeToWrite < 1)
|
||||
return 0;
|
||||
|
||||
// expand size
|
||||
if (Pos + sizeToWrite > Data.size())
|
||||
Data.set_used(Pos+sizeToWrite);
|
||||
|
||||
// copy data
|
||||
memcpy( (void*) &Data[Pos], buffer, sizeToWrite);
|
||||
|
||||
Pos += sizeToWrite;
|
||||
|
||||
return sizeToWrite;
|
||||
|
||||
}
|
||||
|
||||
bool CMemoryReadWriteFile::seek(long finalPos, bool relativeMovement)
|
||||
{
|
||||
if (relativeMovement)
|
||||
{
|
||||
if (finalPos + Pos < 0)
|
||||
return 0;
|
||||
else
|
||||
Pos += finalPos;
|
||||
}
|
||||
else
|
||||
{
|
||||
Pos = finalPos;
|
||||
}
|
||||
|
||||
if (Pos > (s32)Data.size())
|
||||
Data.set_used(Pos+1);
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
const io::path& CMemoryReadWriteFile::getFileName() const
|
||||
{
|
||||
return FileName;
|
||||
}
|
||||
|
||||
long CMemoryReadWriteFile::getPos() const
|
||||
{
|
||||
return Pos;
|
||||
}
|
||||
|
||||
core::array<c8>& CMemoryReadWriteFile::getData()
|
||||
{
|
||||
return Data;
|
||||
}
|
||||
|
||||
|
||||
long CMemoryReadWriteFile::getSize() const
|
||||
{
|
||||
return Data.size();
|
||||
}
|
||||
|
||||
|
||||
size_t CMemoryReadWriteFile::read(void* buffer, size_t sizeToRead)
|
||||
{
|
||||
// cant read past the end
|
||||
if ((size_t)Pos + sizeToRead >= Data.size())
|
||||
sizeToRead = Data.size() - (size_t)Pos;
|
||||
|
||||
// cant read 0 bytes
|
||||
if (!sizeToRead)
|
||||
return 0;
|
||||
|
||||
// copy data
|
||||
memcpy( buffer, (void*) &Data[Pos], sizeToRead);
|
||||
|
||||
Pos += (long)sizeToRead;
|
||||
|
||||
return sizeToRead;
|
||||
}
|
||||
|
||||
bool CMemoryReadWriteFile::flush()
|
||||
{
|
||||
return true; // no buffering, nothing to do
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
||||
// This file is part of the "Irrlicht Engine".
|
||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
#ifndef __C_MEMORY_READ_WRITE_FILE_H_INCLUDED__
|
||||
#define __C_MEMORY_READ_WRITE_FILE_H_INCLUDED__
|
||||
|
||||
#include "IWriteFile.h"
|
||||
#include "IReadFile.h"
|
||||
#include "irrArray.h"
|
||||
#include "irrString.h"
|
||||
#include "memory.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace io
|
||||
{
|
||||
|
||||
//! Provides write access to an array as if it is a file.
|
||||
class CMemoryReadWriteFile : public virtual IWriteFile, public virtual IReadFile
|
||||
{
|
||||
public:
|
||||
|
||||
CMemoryReadWriteFile(const c8* filename=0);
|
||||
|
||||
//! Reads an amount of bytes from the file.
|
||||
//! \param buffer: Pointer to buffer of bytes to write.
|
||||
//! \param sizeToWrite: Amount of bytes to written to the file.
|
||||
//! \return Returns how much bytes were written.
|
||||
virtual size_t write(const void* buffer, size_t sizeToWrite);
|
||||
|
||||
//! Changes position in file, returns true if successful.
|
||||
//! \param finalPos: Destination position in the file.
|
||||
//! \param relativeMovement: If set to true, the position in the file is
|
||||
//! changed relative to current position. Otherwise the position is changed
|
||||
//! from begin of file.
|
||||
//! \return Returns true if successful, otherwise false.
|
||||
virtual bool seek(long finalPos, bool relativeMovement = false);
|
||||
|
||||
//! Returns size of file.
|
||||
//! \return Returns the size of the file in bytes.
|
||||
virtual long getSize() const;
|
||||
|
||||
//! Reads an amount of bytes from the file.
|
||||
//! \param buffer: Pointer to buffer where to read bytes will be written to.
|
||||
//! \param sizeToRead: Amount of bytes to read from the file.
|
||||
//! \return Returns how much bytes were read.
|
||||
virtual size_t read(void* buffer, size_t sizeToRead);
|
||||
|
||||
//! Returns the current position in the file.
|
||||
//! \return Returns the current position in the file in bytes.
|
||||
virtual long getPos() const;
|
||||
|
||||
//! Returns name of file.
|
||||
//! \return Returns the file name as zero terminated character string.
|
||||
virtual const io::path& getFileName() const;
|
||||
|
||||
//! Flush the content of the buffer in the file
|
||||
virtual bool flush() _IRR_OVERRIDE_;
|
||||
|
||||
//! Returns file data as an array
|
||||
core::array<c8>& getData();
|
||||
|
||||
private:
|
||||
|
||||
core::array<c8> Data;
|
||||
io::path FileName;
|
||||
long Pos;
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // end namespace io
|
||||
} // end namespace irr
|
||||
|
||||
#endif // __C_MEMORY_READ_WRITE_FILE_H_INCLUDED__
|
@ -1,61 +0,0 @@
|
||||
#ifndef __C_GUIEDIT_TYPES_H_INCLUDED__
|
||||
#define __C_GUIEDIT_TYPES_H_INCLUDED__
|
||||
|
||||
#include "irrTypes.h"
|
||||
|
||||
namespace irr {
|
||||
namespace gui {
|
||||
|
||||
enum EGUIEDIT_ELEMENT_TYPES
|
||||
{
|
||||
// GUI Editor
|
||||
EGUIEDIT_GUIEDIT=0,
|
||||
EGUIEDIT_GUIEDITWINDOW,
|
||||
// Generic
|
||||
EGUIEDIT_GUIPANEL,
|
||||
EGUIEDIT_TEXTUREBROWSER,
|
||||
// Attribute editors
|
||||
EGUIEDIT_ATTRIBUTEEDITOR,
|
||||
EGUIEDIT_STRINGATTRIBUTE,
|
||||
EGUIEDIT_BOOLATTRIBUTE,
|
||||
EGUIEDIT_ENUMATTRIBUTE,
|
||||
EGUIEDIT_COLORATTRIBUTE,
|
||||
EGUIEDIT_COLORFATTRIBUTE,
|
||||
EGUIEDIT_TEXTUREATTRIBUTE,
|
||||
// Dummy editor stubs
|
||||
EGUIEDIT_CONTEXTMENUEDITOR,
|
||||
EGUIEDIT_MENUEDITOR,
|
||||
EGUIEDIT_FILEDIALOGEDITOR,
|
||||
EGUIEDIT_COLORDIALOGEDITOR,
|
||||
EGUIEDIT_MODALSCREENEDITOR,
|
||||
// Count
|
||||
EGUIEDIT_COUNT
|
||||
};
|
||||
|
||||
const c8* const GUIEditElementTypeNames[] =
|
||||
{
|
||||
"GUIEditor",
|
||||
"GUIEditWindow",
|
||||
"panel",
|
||||
"textureCacheBrowser",
|
||||
"attributeEditor",
|
||||
"string_attribute",
|
||||
"bool_attribute",
|
||||
"enum_attribute",
|
||||
"color_attribute",
|
||||
"colorf_attribute",
|
||||
"texture_attribute",
|
||||
// dummy editors
|
||||
"contextMenu_editor",
|
||||
"menu_editor",
|
||||
"fileOpenDialog_editor",
|
||||
"colorSelectDialog_editor",
|
||||
"modalScreen_editor",
|
||||
0
|
||||
};
|
||||
|
||||
} // gui
|
||||
} // irr
|
||||
|
||||
#endif
|
||||
|
@ -1,217 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{853A396E-C031-4C26-A716-5B4E176BE11D}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectName>GUIEditor</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp" />
|
||||
<ClCompile Include="CGUIEditWindow.cpp" />
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp" />
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp" />
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp" />
|
||||
<ClCompile Include="CGUIPanel.cpp" />
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h" />
|
||||
<ClInclude Include="CGUIEditWindow.h" />
|
||||
<ClInclude Include="CGUIEditWorkspace.h" />
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h" />
|
||||
<ClInclude Include="CGUIAttribute.h" />
|
||||
<ClInclude Include="CGUIAttributeEditor.h" />
|
||||
<ClInclude Include="CGUIBoolAttribute.h" />
|
||||
<ClInclude Include="CGUIColorAttribute.h" />
|
||||
<ClInclude Include="CGUIEnumAttribute.h" />
|
||||
<ClInclude Include="CGUIStringAttribute.h" />
|
||||
<ClInclude Include="CGUITextureAttribute.h" />
|
||||
<ClInclude Include="CGUIPanel.h" />
|
||||
<ClInclude Include="CGUIDummyEditorStub.h" />
|
||||
<ClInclude Include="CMemoryReadWriteFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht10.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="gui">
|
||||
<UniqueIdentifier>{f6ad9df9-ebaa-4c0f-997b-c8101c1fc669}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\GUIAttributes">
|
||||
<UniqueIdentifier>{7fd14cb1-d2e7-4fd0-85c1-68fc9d1249f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Useful GUI Elements">
|
||||
<UniqueIdentifier>{ab2c3f3a-1d99-4619-b5df-47fdd9449f3f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Element Editors">
|
||||
<UniqueIdentifier>{740a4255-37cc-4ac4-94e9-f2f0970491a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="io">
|
||||
<UniqueIdentifier>{a28a0b21-3336-432f-9759-ff2dc064874a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWindow.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIPanel.cpp">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp">
|
||||
<Filter>io</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWindow.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWorkspace.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttributeEditor.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIBoolAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIColorAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEnumAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIStringAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIPanel.h">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIDummyEditorStub.h">
|
||||
<Filter>gui\Element Editors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CMemoryReadWriteFile.h">
|
||||
<Filter>io</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,217 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{853A396E-C031-4C26-A716-5B4E176BE11D}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectName>GUIEditor</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp" />
|
||||
<ClCompile Include="CGUIEditWindow.cpp" />
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp" />
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp" />
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp" />
|
||||
<ClCompile Include="CGUIPanel.cpp" />
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h" />
|
||||
<ClInclude Include="CGUIEditWindow.h" />
|
||||
<ClInclude Include="CGUIEditWorkspace.h" />
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h" />
|
||||
<ClInclude Include="CGUIAttribute.h" />
|
||||
<ClInclude Include="CGUIAttributeEditor.h" />
|
||||
<ClInclude Include="CGUIBoolAttribute.h" />
|
||||
<ClInclude Include="CGUIColorAttribute.h" />
|
||||
<ClInclude Include="CGUIEnumAttribute.h" />
|
||||
<ClInclude Include="CGUIStringAttribute.h" />
|
||||
<ClInclude Include="CGUITextureAttribute.h" />
|
||||
<ClInclude Include="CGUIPanel.h" />
|
||||
<ClInclude Include="CGUIDummyEditorStub.h" />
|
||||
<ClInclude Include="CMemoryReadWriteFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="gui">
|
||||
<UniqueIdentifier>{f6ad9df9-ebaa-4c0f-997b-c8101c1fc669}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\GUIAttributes">
|
||||
<UniqueIdentifier>{7fd14cb1-d2e7-4fd0-85c1-68fc9d1249f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Useful GUI Elements">
|
||||
<UniqueIdentifier>{ab2c3f3a-1d99-4619-b5df-47fdd9449f3f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Element Editors">
|
||||
<UniqueIdentifier>{740a4255-37cc-4ac4-94e9-f2f0970491a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="io">
|
||||
<UniqueIdentifier>{a28a0b21-3336-432f-9759-ff2dc064874a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWindow.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIPanel.cpp">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp">
|
||||
<Filter>io</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWindow.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWorkspace.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttributeEditor.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIBoolAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIColorAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEnumAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIStringAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIPanel.h">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIDummyEditorStub.h">
|
||||
<Filter>gui\Element Editors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CMemoryReadWriteFile.h">
|
||||
<Filter>io</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,217 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{853A396E-C031-4C26-A716-5B4E176BE11D}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectName>GUIEditor</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp" />
|
||||
<ClCompile Include="CGUIEditWindow.cpp" />
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp" />
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp" />
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp" />
|
||||
<ClCompile Include="CGUIPanel.cpp" />
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h" />
|
||||
<ClInclude Include="CGUIEditWindow.h" />
|
||||
<ClInclude Include="CGUIEditWorkspace.h" />
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h" />
|
||||
<ClInclude Include="CGUIAttribute.h" />
|
||||
<ClInclude Include="CGUIAttributeEditor.h" />
|
||||
<ClInclude Include="CGUIBoolAttribute.h" />
|
||||
<ClInclude Include="CGUIColorAttribute.h" />
|
||||
<ClInclude Include="CGUIEnumAttribute.h" />
|
||||
<ClInclude Include="CGUIStringAttribute.h" />
|
||||
<ClInclude Include="CGUITextureAttribute.h" />
|
||||
<ClInclude Include="CGUIPanel.h" />
|
||||
<ClInclude Include="CGUIDummyEditorStub.h" />
|
||||
<ClInclude Include="CMemoryReadWriteFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="gui">
|
||||
<UniqueIdentifier>{f6ad9df9-ebaa-4c0f-997b-c8101c1fc669}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\GUIAttributes">
|
||||
<UniqueIdentifier>{7fd14cb1-d2e7-4fd0-85c1-68fc9d1249f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Useful GUI Elements">
|
||||
<UniqueIdentifier>{ab2c3f3a-1d99-4619-b5df-47fdd9449f3f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Element Editors">
|
||||
<UniqueIdentifier>{740a4255-37cc-4ac4-94e9-f2f0970491a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="io">
|
||||
<UniqueIdentifier>{a28a0b21-3336-432f-9759-ff2dc064874a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWindow.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIPanel.cpp">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp">
|
||||
<Filter>io</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWindow.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWorkspace.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttributeEditor.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIBoolAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIColorAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEnumAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIStringAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIPanel.h">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIDummyEditorStub.h">
|
||||
<Filter>gui\Element Editors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CMemoryReadWriteFile.h">
|
||||
<Filter>io</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,217 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{853A396E-C031-4C26-A716-5B4E176BE11D}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectName>GUIEditor</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win64-visualstudio/GUIEditor.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp" />
|
||||
<ClCompile Include="CGUIEditWindow.cpp" />
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp" />
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp" />
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp" />
|
||||
<ClCompile Include="CGUIPanel.cpp" />
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h" />
|
||||
<ClInclude Include="CGUIEditWindow.h" />
|
||||
<ClInclude Include="CGUIEditWorkspace.h" />
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h" />
|
||||
<ClInclude Include="CGUIAttribute.h" />
|
||||
<ClInclude Include="CGUIAttributeEditor.h" />
|
||||
<ClInclude Include="CGUIBoolAttribute.h" />
|
||||
<ClInclude Include="CGUIColorAttribute.h" />
|
||||
<ClInclude Include="CGUIEnumAttribute.h" />
|
||||
<ClInclude Include="CGUIStringAttribute.h" />
|
||||
<ClInclude Include="CGUITextureAttribute.h" />
|
||||
<ClInclude Include="CGUIPanel.h" />
|
||||
<ClInclude Include="CGUIDummyEditorStub.h" />
|
||||
<ClInclude Include="CMemoryReadWriteFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="gui">
|
||||
<UniqueIdentifier>{f6ad9df9-ebaa-4c0f-997b-c8101c1fc669}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\GUIAttributes">
|
||||
<UniqueIdentifier>{7fd14cb1-d2e7-4fd0-85c1-68fc9d1249f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Useful GUI Elements">
|
||||
<UniqueIdentifier>{ab2c3f3a-1d99-4619-b5df-47fdd9449f3f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="gui\Element Editors">
|
||||
<UniqueIdentifier>{740a4255-37cc-4ac4-94e9-f2f0970491a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="io">
|
||||
<UniqueIdentifier>{a28a0b21-3336-432f-9759-ff2dc064874a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CGUIEditFactory.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWindow.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIEditWorkspace.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUITextureCacheBrowser.cpp">
|
||||
<Filter>gui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIAttributeEditor.cpp">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CGUIPanel.cpp">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CMemoryReadWriteFile.cpp">
|
||||
<Filter>io</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CGUIEditFactory.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWindow.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEditWorkspace.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureCacheBrowser.h">
|
||||
<Filter>gui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIAttributeEditor.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIBoolAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIColorAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIEnumAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIStringAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUITextureAttribute.h">
|
||||
<Filter>gui\GUIAttributes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIPanel.h">
|
||||
<Filter>gui\Useful GUI Elements</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CGUIDummyEditorStub.h">
|
||||
<Filter>gui\Element Editors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CMemoryReadWriteFile.h">
|
||||
<Filter>io</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -1,78 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="GUI Editor" />
|
||||
<Option pch_mode="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Windows">
|
||||
<Option platforms="Windows;" />
|
||||
<Option output="../../bin/win32-gcc/GUIEditor.exe" prefix_auto="0" extension_auto="0" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Option projectResourceIncludeDirsRelation="1" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="../../lib/Win32-gcc" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Linux">
|
||||
<Option platforms="Unix;" />
|
||||
<Option output="../../bin/Linux/GUIEditor" prefix_auto="0" extension_auto="0" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Option projectResourceIncludeDirsRelation="1" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add option="-D_IRR_STATIC_LIB_" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="Irrlicht" />
|
||||
<Add library="Xxf86vm" />
|
||||
<Add library="GL" />
|
||||
<Add library="X11" />
|
||||
<Add directory="../../lib/Linux" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<VirtualTargets>
|
||||
<Add alias="All" targets="Windows;Linux;" />
|
||||
</VirtualTargets>
|
||||
<Compiler>
|
||||
<Add directory="../../include" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="Irrlicht" />
|
||||
</Linker>
|
||||
<Unit filename="CGUIAttribute.h" />
|
||||
<Unit filename="CGUIAttributeEditor.cpp" />
|
||||
<Unit filename="CGUIAttributeEditor.h" />
|
||||
<Unit filename="CGUIBoolAttribute.h" />
|
||||
<Unit filename="CGUIColorAttribute.h" />
|
||||
<Unit filename="CGUIEditFactory.cpp" />
|
||||
<Unit filename="CGUIEditFactory.h" />
|
||||
<Unit filename="CGUIEditWindow.cpp" />
|
||||
<Unit filename="CGUIEditWindow.h" />
|
||||
<Unit filename="CGUIEditWorkspace.cpp" />
|
||||
<Unit filename="CGUIEditWorkspace.h" />
|
||||
<Unit filename="CGUIEnumAttribute.h" />
|
||||
<Unit filename="CGUIPanel.cpp" />
|
||||
<Unit filename="CGUIPanel.h" />
|
||||
<Unit filename="CGUIStringAttribute.h" />
|
||||
<Unit filename="CGUITextureAttribute.h" />
|
||||
<Unit filename="CGUITextureCacheBrowser.cpp" />
|
||||
<Unit filename="CGUITextureCacheBrowser.h" />
|
||||
<Unit filename="CMemoryReadWriteFile.cpp" />
|
||||
<Unit filename="CMemoryReadWriteFile.h" />
|
||||
<Unit filename="EGUIEditTypes.h" />
|
||||
<Unit filename="main.cpp" />
|
||||
<Extensions>
|
||||
<code_completion />
|
||||
<debugger />
|
||||
<envvars />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
@ -1,43 +0,0 @@
|
||||
# Irrlicht Engine GUIEditor Makefile
|
||||
Target = GUIEditor
|
||||
Sources = CGUIAttributeEditor.cpp CGUIEditFactory.cpp CGUIEditWindow.cpp CGUIEditWorkspace.cpp CGUIPanel.cpp CGUITextureCacheBrowser.cpp CMemoryReadWriteFile.cpp main.cpp
|
||||
|
||||
CPPFLAGS = -I../../include -I/usr/X11R6/include
|
||||
CXXFLAGS = -Wall -O3 -ffast-math
|
||||
|
||||
ifeq ($(HOSTTYPE), x86_64)
|
||||
LIBSELECT=64
|
||||
endif
|
||||
|
||||
all: all_linux
|
||||
|
||||
# target specific settings
|
||||
all_linux: SYSTEM=Linux
|
||||
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/$(SYSTEM) -lIrrlicht -lGL -lXxf86vm -lXext -lX11
|
||||
|
||||
all_win32 clean_win32: SYSTEM=Win32-gcc
|
||||
all_win32: LDFLAGS = -L../../lib/$(SYSTEM) -lIrrlicht -lopengl32 -lm
|
||||
|
||||
# if you enable sound add the proper library for linking
|
||||
#LDFLAGS += -lIrrKlang
|
||||
#LDFLAGS += -laudiere
|
||||
#LDFLAGS += -lSDL_mixer -lSDL
|
||||
|
||||
all_win32 clean_win32: SUF=.exe
|
||||
# name of the binary - only valid for targets which set SYSTEM
|
||||
DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
|
||||
|
||||
OBJ = $(Sources:.cpp=.o)
|
||||
|
||||
all_linux all_win32: $(OBJ)
|
||||
$(warning Building...)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $(DESTPATH) $(LDFLAGS)
|
||||
|
||||
clean: clean_linux clean_win32
|
||||
$(warning Cleaning...)
|
||||
@$(RM) $(OBJ)
|
||||
|
||||
clean_linux clean_win32:
|
||||
@$(RM) $(DESTPATH)
|
||||
|
||||
.PHONY: all all_win32 clean clean_linux clean_win32
|
@ -1,84 +0,0 @@
|
||||
#include <irrlicht.h>
|
||||
#include "driverChoice.h"
|
||||
|
||||
// include the gui creator element factory
|
||||
#include "CGUIEditFactory.h"
|
||||
|
||||
using namespace irr;
|
||||
using namespace gui;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma comment(lib, "Irrlicht.lib")
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
// ask user for driver
|
||||
video::E_DRIVER_TYPE driverType=driverChoiceConsole(false);
|
||||
if (driverType==video::EDT_COUNT)
|
||||
return 1;
|
||||
|
||||
IrrlichtDevice *device = createDevice(driverType, core::dimension2du(800, 600));
|
||||
video::IVideoDriver* driver = device->getVideoDriver();
|
||||
scene::ISceneManager* smgr = device->getSceneManager();
|
||||
gui::IGUIEnvironment *env = device->getGUIEnvironment();
|
||||
|
||||
device->setResizable(true);
|
||||
|
||||
/*
|
||||
first we create the factory which can make new GUI elements
|
||||
and register it with the gui environment.
|
||||
*/
|
||||
|
||||
IGUIElementFactory* factory = new CGUIEditFactory(env);
|
||||
env->registerGUIElementFactory(factory);
|
||||
// remember to drop since we created with a create call
|
||||
factory->drop();
|
||||
|
||||
IGUISkin *skin = env->createSkin(EGST_WINDOWS_METALLIC);
|
||||
env->setSkin(skin);
|
||||
|
||||
IGUIFont *font = env->getFont("../../media/lucida.xml");
|
||||
if (font)
|
||||
skin->setFont(font);
|
||||
skin->drop();
|
||||
|
||||
// change transparency of skin
|
||||
for (s32 i=0; i<gui::EGDC_COUNT ; ++i)
|
||||
{
|
||||
video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);
|
||||
col.setAlpha(250);
|
||||
env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col);
|
||||
}
|
||||
|
||||
/*
|
||||
now we add the GUI Editor Workspace
|
||||
*/
|
||||
|
||||
env->addGUIElement("GUIEditor");
|
||||
|
||||
while(device->run())
|
||||
{
|
||||
if (!device->isWindowMinimized())
|
||||
{
|
||||
const core::dimension2d<u32>& screenSize = driver->getScreenSize();
|
||||
wchar_t caption[512];
|
||||
swprintf_irr(caption, 512, L"screen (%4u/%4u)", screenSize.Width, screenSize.Height);
|
||||
device->setWindowCaption(caption);
|
||||
driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,200,200,200));
|
||||
smgr->drawAll();
|
||||
env->drawAll();
|
||||
driver->endScene();
|
||||
}
|
||||
|
||||
// be nice to CPU
|
||||
device->sleep(10);
|
||||
if (!device->isWindowActive())
|
||||
device->sleep(90);
|
||||
}
|
||||
|
||||
device->closeDevice();
|
||||
device->drop();
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,801 +0,0 @@
|
||||
#include "CFontTool.h"
|
||||
#include "IXMLWriter.h"
|
||||
|
||||
using namespace irr;
|
||||
|
||||
const int fontsizes[] = {4,6,8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,56,68,72,0};
|
||||
|
||||
inline u32 getTextureSizeFromSurfaceSize(u32 size)
|
||||
{
|
||||
u32 ts = 0x01;
|
||||
while(ts < size)
|
||||
ts <<= 1;
|
||||
|
||||
return ts;
|
||||
}
|
||||
|
||||
// windows specific
|
||||
#ifdef _IRR_WINDOWS_
|
||||
|
||||
const DWORD charsets[] = { ANSI_CHARSET, DEFAULT_CHARSET, OEM_CHARSET, BALTIC_CHARSET, GB2312_CHARSET, CHINESEBIG5_CHARSET,
|
||||
EASTEUROPE_CHARSET, GREEK_CHARSET, HANGUL_CHARSET, MAC_CHARSET, RUSSIAN_CHARSET,
|
||||
SHIFTJIS_CHARSET, SYMBOL_CHARSET, TURKISH_CHARSET, VIETNAMESE_CHARSET, JOHAB_CHARSET,
|
||||
ARABIC_CHARSET, HEBREW_CHARSET, THAI_CHARSET, 0};
|
||||
|
||||
const wchar_t *setnames[] = {L"ANSI", L"All Available", L"OEM", L"Baltic", L"Chinese Simplified", L"Chinese Traditional",
|
||||
L"Eastern European", L"Greek", L"Hangul", L"Macintosh", L"Russian",
|
||||
L"Japanese", L"Symbol", L"Turkish", L"Vietnamese", L"Johab",
|
||||
L"Arabic", L"Hebrew", L"Thai", 0};
|
||||
|
||||
// callback for adding font names
|
||||
int CALLBACK EnumFontFamExProc( ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme,
|
||||
DWORD FontType, LPARAM lParam)
|
||||
{
|
||||
CFontTool* t = (CFontTool*) lParam;
|
||||
t->FontNames.push_back( core::stringw(lpelfe->elfFullName));
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Constructor
|
||||
//
|
||||
|
||||
CFontTool::CFontTool(IrrlichtDevice* device) : FontSizes(fontsizes),
|
||||
Device(device), UseAlphaChannel(false),
|
||||
// win specific
|
||||
dc(0)
|
||||
{
|
||||
// init display context
|
||||
dc = CreateDC(L"DISPLAY", L"DISPLAY", 0 ,0 );
|
||||
|
||||
// populate list of available character set names
|
||||
for (int i=0; setnames[i] != 0; ++i)
|
||||
CharSets.push_back( core::stringw(setnames[i]));
|
||||
|
||||
selectCharSet(0);
|
||||
}
|
||||
|
||||
void CFontTool::selectCharSet(u32 currentCharSet)
|
||||
{
|
||||
if ( currentCharSet >= CharSets.size() )
|
||||
return;
|
||||
|
||||
LOGFONTW lf;
|
||||
lf.lfFaceName[0] = L'\0';
|
||||
lf.lfCharSet = (BYTE) charsets[currentCharSet];
|
||||
// HRESULT hr; // no error checking(!)
|
||||
|
||||
// clear font list
|
||||
FontNames.clear();
|
||||
|
||||
// create list of available fonts
|
||||
EnumFontFamiliesExW( dc, (LPLOGFONTW) &lf, (FONTENUMPROCW) EnumFontFamExProc, (LPARAM) this, 0);
|
||||
}
|
||||
|
||||
bool CFontTool::makeBitmapFont(u32 fontIndex, u32 charsetIndex, s32 fontSize, u32 textureWidth, u32 textureHeight, bool bold, bool italic, bool aa, bool alpha)
|
||||
{
|
||||
if (fontIndex >= FontNames.size() || charsetIndex >= CharSets.size() )
|
||||
return false;
|
||||
|
||||
UseAlphaChannel = alpha;
|
||||
u32 currentImage = 0;
|
||||
|
||||
// create the font
|
||||
HFONT font = CreateFontW(
|
||||
-MulDiv(fontSize, GetDeviceCaps(dc, LOGPIXELSY), 72), 0,
|
||||
0,0,
|
||||
bold ? FW_BOLD : 0,
|
||||
italic, 0,0, charsets[charsetIndex], 0,0,
|
||||
aa ? ANTIALIASED_QUALITY : 0,
|
||||
0, FontNames[fontIndex].c_str() );
|
||||
|
||||
if (!font)
|
||||
return false;
|
||||
|
||||
SelectObject(dc, font);
|
||||
SetTextAlign (dc,TA_LEFT | TA_TOP | TA_NOUPDATECP);
|
||||
|
||||
// get rid of the current textures/images
|
||||
for (u32 i=0; i<currentTextures.size(); ++i)
|
||||
currentTextures[i]->drop();
|
||||
currentTextures.clear();
|
||||
|
||||
for (u32 i=0; i<currentImages.size(); ++i)
|
||||
currentImages[i]->drop();
|
||||
currentImages.clear();
|
||||
|
||||
// clear current image mappings
|
||||
CharMap.clear();
|
||||
// clear array
|
||||
Areas.clear();
|
||||
|
||||
// get information about this font's unicode ranges.
|
||||
s32 size = GetFontUnicodeRanges( dc, 0);
|
||||
c8 *buf = new c8[size];
|
||||
LPGLYPHSET glyphs = (LPGLYPHSET)buf;
|
||||
|
||||
GetFontUnicodeRanges( dc, glyphs);
|
||||
|
||||
// s32 TotalCharCount = glyphs->cGlyphsSupported;
|
||||
|
||||
s32 currentx=0, currenty=0, maxy=0;
|
||||
|
||||
for (u32 range=0; range < glyphs->cRanges; range++)
|
||||
{
|
||||
WCRANGE* current = &glyphs->ranges[range];
|
||||
|
||||
//maxy=0;
|
||||
|
||||
// loop through each glyph and write its size and position
|
||||
for (s32 ch=current->wcLow; ch< current->wcLow + current->cGlyphs; ch++)
|
||||
{
|
||||
wchar_t currentchar = ch;
|
||||
|
||||
if ( IsDBCSLeadByte((BYTE) ch))
|
||||
continue; // surrogate pairs unsupported
|
||||
|
||||
// get the dimensions
|
||||
SIZE size;
|
||||
ABC abc;
|
||||
GetTextExtentPoint32W(dc, ¤tchar, 1, &size);
|
||||
SFontArea fa;
|
||||
fa.underhang = 0;
|
||||
fa.overhang = 0;
|
||||
|
||||
if (GetCharABCWidthsW(dc, currentchar, currentchar, &abc)) // for unicode fonts, get overhang, underhang, width
|
||||
{
|
||||
size.cx = abc.abcB; // full font width (ignoring padding/underhang )
|
||||
fa.underhang = abc.abcA; // underhang/padding left - can also be negative (in which case it's overhang left)
|
||||
fa.overhang = abc.abcC; // overhang/padding right - can also be negative (in which case it's underhand right)
|
||||
|
||||
if (abc.abcB-abc.abcA+abc.abcC<1)
|
||||
continue; // nothing of width 0
|
||||
}
|
||||
if (size.cy < 1)
|
||||
continue;
|
||||
|
||||
//GetGlyphOutline(dc, currentchar, GGO_METRICS, &gm, 0, 0, 0);
|
||||
|
||||
//size.cx++; size.cy++;
|
||||
|
||||
// wrap around?
|
||||
if (currentx + size.cx > (s32) textureWidth)
|
||||
{
|
||||
currenty += maxy;
|
||||
currentx = 0;
|
||||
if ((u32)(currenty + maxy) > textureHeight)
|
||||
{
|
||||
currentImage++; // increase Image count
|
||||
currenty=0;
|
||||
}
|
||||
maxy = 0;
|
||||
}
|
||||
// add this char dimension to the current map
|
||||
|
||||
fa.rectangle = core::rect<s32>(currentx, currenty, currentx + size.cx, currenty + size.cy);
|
||||
fa.sourceimage = currentImage;
|
||||
|
||||
CharMap.insert(currentchar, Areas.size());
|
||||
Areas.push_back( fa );
|
||||
|
||||
currentx += size.cx +1;
|
||||
|
||||
if (size.cy+1 > maxy)
|
||||
maxy = size.cy+1;
|
||||
}
|
||||
}
|
||||
currenty += maxy;
|
||||
|
||||
u32 lastTextureHeight = getTextureSizeFromSurfaceSize(currenty);
|
||||
|
||||
// delete the glyph set
|
||||
delete [] buf;
|
||||
|
||||
currentImages.set_used(currentImage+1);
|
||||
currentTextures.set_used(currentImage+1);
|
||||
|
||||
for (currentImage=0; currentImage < currentImages.size(); ++currentImage)
|
||||
{
|
||||
core::stringc logmsg = "Creating image ";
|
||||
logmsg += (s32) (currentImage+1);
|
||||
logmsg += " of ";
|
||||
logmsg += (s32) currentImages.size();
|
||||
Device->getLogger()->log(logmsg.c_str());
|
||||
// no need for a huge final texture
|
||||
u32 texHeight = textureHeight;
|
||||
if (currentImage == currentImages.size()-1 )
|
||||
texHeight = lastTextureHeight;
|
||||
|
||||
// make a new bitmap
|
||||
HBITMAP bmp = CreateCompatibleBitmap(dc, textureWidth, texHeight);
|
||||
HDC bmpdc = CreateCompatibleDC(dc);
|
||||
|
||||
LOGBRUSH lbrush;
|
||||
lbrush.lbColor = RGB(0,0,0);
|
||||
lbrush.lbHatch = 0;
|
||||
lbrush.lbStyle = BS_SOLID;
|
||||
|
||||
HBRUSH brush = CreateBrushIndirect(&lbrush);
|
||||
HPEN pen = CreatePen(PS_NULL, 0, 0);
|
||||
|
||||
HGDIOBJ oldbmp = SelectObject(bmpdc, bmp);
|
||||
HGDIOBJ oldbmppen = SelectObject(bmpdc, pen);
|
||||
HGDIOBJ oldbmpbrush = SelectObject(bmpdc, brush);
|
||||
HGDIOBJ oldbmpfont = SelectObject(bmpdc, font);
|
||||
|
||||
SetTextColor(bmpdc, RGB(255,255,255));
|
||||
|
||||
Rectangle(bmpdc, 0,0,textureWidth,texHeight);
|
||||
SetBkMode(bmpdc, TRANSPARENT);
|
||||
|
||||
// draw the letters...
|
||||
|
||||
// iterate through the tree
|
||||
core::map<wchar_t, u32>::Iterator it = CharMap.getIterator();
|
||||
while (!it.atEnd())
|
||||
{
|
||||
s32 currentArea = (*it).getValue();
|
||||
wchar_t wch = (*it).getKey();
|
||||
// sloppy but I couldn't be bothered rewriting it
|
||||
if (Areas[currentArea].sourceimage == currentImage)
|
||||
{
|
||||
// draw letter
|
||||
s32 sx = Areas[currentArea].rectangle.UpperLeftCorner.X - Areas[currentArea].underhang;
|
||||
TextOutW(bmpdc, sx, Areas[currentArea].rectangle.UpperLeftCorner.Y, &wch, 1);
|
||||
|
||||
// if ascii font...
|
||||
//SetPixel(bmpdc, Areas[currentArea].rectangle.UpperLeftCorner.X, Areas[currentArea].rectangle.UpperLeftCorner.Y, RGB(255,255,0));// left upper corner mark
|
||||
}
|
||||
it++;
|
||||
}
|
||||
|
||||
// copy the font bitmap into a new irrlicht image
|
||||
BITMAP b;
|
||||
PBITMAPINFO pbmi;
|
||||
WORD cClrBits;
|
||||
u32 cformat;
|
||||
|
||||
// Retrieve the bitmap color format, width, and height.
|
||||
GetObject(bmp, sizeof(BITMAP), (LPSTR)&b);
|
||||
|
||||
// Convert the color format to a count of bits.
|
||||
cClrBits = (WORD)(b.bmPlanes * b.bmBitsPixel);
|
||||
|
||||
if (cClrBits <= 8) // we're not supporting these
|
||||
cformat = -1;
|
||||
else if (cClrBits <= 16)
|
||||
cformat = video::ECF_A1R5G5B5;
|
||||
else if (cClrBits <= 24)
|
||||
cformat = video::ECF_R8G8B8;
|
||||
else
|
||||
cformat = video::ECF_A8R8G8B8;
|
||||
|
||||
pbmi = (PBITMAPINFO) LocalAlloc(LPTR,
|
||||
sizeof(BITMAPINFOHEADER));
|
||||
|
||||
// Initialize the fields in the BITMAPINFO structure.
|
||||
|
||||
pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
pbmi->bmiHeader.biWidth = b.bmWidth;
|
||||
pbmi->bmiHeader.biHeight = b.bmHeight;
|
||||
pbmi->bmiHeader.biPlanes = b.bmPlanes;
|
||||
pbmi->bmiHeader.biBitCount = b.bmBitsPixel;
|
||||
|
||||
// If the bitmap is not compressed, set the BI_RGB flag.
|
||||
pbmi->bmiHeader.biCompression = BI_RGB;
|
||||
|
||||
// Compute the number of bytes in the array of color
|
||||
// indices and store the result in biSizeImage.
|
||||
// For Windows NT, the width must be DWORD aligned unless
|
||||
// the bitmap is RLE compressed. This example shows this.
|
||||
// For Windows 95/98/Me, the width must be WORD aligned unless the
|
||||
// bitmap is RLE compressed.
|
||||
pbmi->bmiHeader.biSizeImage = ((pbmi->bmiHeader.biWidth * cClrBits +31) & ~31) /8
|
||||
* pbmi->bmiHeader.biHeight;
|
||||
// Set biClrImportant to 0, indicating that all of the
|
||||
// device colors are important.
|
||||
pbmi->bmiHeader.biClrImportant = 0;
|
||||
|
||||
LPBYTE lpBits; // memory pointer
|
||||
|
||||
PBITMAPINFOHEADER pbih = (PBITMAPINFOHEADER) pbmi;
|
||||
lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih->biSizeImage);
|
||||
|
||||
GetDIBits(dc, bmp, 0, (WORD) pbih->biHeight, lpBits, pbmi, DIB_RGB_COLORS);
|
||||
|
||||
// DEBUG- copy to clipboard
|
||||
//OpenClipboard(hWnd);
|
||||
//EmptyClipboard();
|
||||
//SetClipboardData(CF_BITMAP, bmp);
|
||||
//CloseClipboard();
|
||||
|
||||
// flip bitmap
|
||||
s32 rowsize = ((pbmi->bmiHeader.biWidth * cClrBits +31) & ~31) /8;
|
||||
c8 *row = new c8[rowsize];
|
||||
for (s32 i=0; i < (pbih->biHeight/2); ++i)
|
||||
{
|
||||
// grab a row
|
||||
memcpy(row, lpBits + (rowsize * i), rowsize);
|
||||
// swap row
|
||||
memcpy(lpBits + (rowsize * i), lpBits + ((pbih->biHeight-1 -i) * rowsize ) , rowsize);
|
||||
memcpy(lpBits + ((pbih->biHeight-1 -i) * rowsize ), row , rowsize);
|
||||
}
|
||||
|
||||
bool ret = false;
|
||||
|
||||
if (cformat == video::ECF_A8R8G8B8)
|
||||
{
|
||||
// in this case the font should have an alpha channel, but since windows doesn't draw one
|
||||
// we have to set one manually by going through all the pixels.. *sigh*
|
||||
|
||||
u8* m;
|
||||
for (m = lpBits; m < lpBits + pbih->biSizeImage; m+=4)
|
||||
{
|
||||
if (UseAlphaChannel)
|
||||
{
|
||||
if (m[0] > 0) // pixel has colour
|
||||
{
|
||||
m[3]=m[0]; // set alpha
|
||||
m[0]=m[1]=m[2] = 255; // everything else is full
|
||||
}
|
||||
}
|
||||
else
|
||||
m[3]=255; // all pixels are full alpha
|
||||
}
|
||||
|
||||
}
|
||||
else if (cformat == video::ECF_A1R5G5B5)
|
||||
{
|
||||
u8* m;
|
||||
for (m = lpBits; m < lpBits + pbih->biSizeImage; m+=2)
|
||||
{
|
||||
WORD *p = (WORD*)m;
|
||||
if (m[0] > 0 || !UseAlphaChannel) // alpha should be set
|
||||
*p |= 0x8000; // set alpha bit
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cformat = -1;
|
||||
}
|
||||
|
||||
// make a texture from the image
|
||||
if (cformat != -1)
|
||||
{
|
||||
// turn mip-mapping off
|
||||
bool b = Device->getVideoDriver()->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
|
||||
currentImages[currentImage] = Device->getVideoDriver()->createImageFromData((video::ECOLOR_FORMAT)cformat, core::dimension2d<u32>(textureWidth,texHeight), (void*)lpBits);
|
||||
Device->getVideoDriver()->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS,b);
|
||||
}
|
||||
else
|
||||
{
|
||||
Device->getLogger()->log("Couldn't create font, your pixel format is unsupported.");
|
||||
}
|
||||
|
||||
// free memory and windows resources
|
||||
// sloppy I know, but I only intended to create one image at first.
|
||||
delete [] row;
|
||||
LocalFree(pbmi);
|
||||
GlobalFree(lpBits);
|
||||
DeleteDC(bmpdc);
|
||||
DeleteObject(brush);
|
||||
DeleteObject(pen);
|
||||
DeleteObject(bmp);
|
||||
|
||||
if (currentImages[currentImage])
|
||||
{
|
||||
// add texture
|
||||
currentTextures[currentImage] = Device->getVideoDriver()->addTexture("GUIFontImage",currentImages[currentImage]);
|
||||
currentTextures[currentImage]->grab();
|
||||
}
|
||||
else
|
||||
{
|
||||
Device->getLogger()->log("Something went wrong, aborting.");
|
||||
// drop all images
|
||||
DeleteObject(font);
|
||||
return false;
|
||||
}
|
||||
} // looping through each texture
|
||||
DeleteObject(font);
|
||||
return true;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
CFontTool::CFontTool(IrrlichtDevice *device) : FontSizes(fontsizes), Device(device), UseAlphaChannel(false)
|
||||
{
|
||||
if (!XftInitFtLibrary())
|
||||
{
|
||||
core::stringc logmsg = "XFT not found\n";
|
||||
Device->getLogger()->log(logmsg.c_str());
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Get a list of the font foundries, storing them in a set to sort */
|
||||
std::set<core::stringw> foundries;
|
||||
Display* display = (Display*)Device->getVideoDriver()->getExposedVideoData().OpenGLLinux.X11Display;
|
||||
XftFontSet* fonts = XftListFonts(display, DefaultScreen(display), 0, XFT_FOUNDRY, 0);
|
||||
for (int i = 0; i < fonts->nfont; i++)
|
||||
{
|
||||
char *foundry;
|
||||
XftPatternGetString(fonts->fonts[i], XFT_FOUNDRY, 0, &foundry);
|
||||
core::stringw tmp(foundry);
|
||||
foundries.insert(tmp);
|
||||
}
|
||||
XftFontSetDestroy(fonts);
|
||||
|
||||
/* Copy the sorted list into the array */
|
||||
CharSets.clear();
|
||||
for (std::set<core::stringw>::iterator i = foundries.begin(); i != foundries.end(); i++)
|
||||
CharSets.push_back((*i).c_str());
|
||||
selectCharSet(0);
|
||||
}
|
||||
|
||||
/* Note: There must be some trick for using strings as pattern parameters to XftListFonts because
|
||||
no matter how I specify a string, I end up with an intermittent segfault. Since XftFontList is
|
||||
just calling FcFontList, that's what I'll do too since that works OK */
|
||||
void CFontTool::selectCharSet(u32 currentCharSet)
|
||||
{
|
||||
/* Get a list of the font families, storing them in a set to sort */
|
||||
char foundry[256];
|
||||
sprintf(&foundry[0],"%ls",CharSets[currentCharSet].c_str());
|
||||
std::set<core::stringw> families;
|
||||
XftPattern *pattern = FcPatternCreate();
|
||||
XftPatternAddString(pattern, FC_FOUNDRY, &foundry[0]);
|
||||
XftObjectSet *objectset = FcObjectSetCreate();
|
||||
XftObjectSetAdd(objectset, XFT_FOUNDRY);
|
||||
XftObjectSetAdd(objectset, XFT_FAMILY);
|
||||
FcFontSet *fonts = FcFontList(NULL, pattern, objectset);
|
||||
|
||||
for (int i = 0; i < fonts->nfont; i++)
|
||||
{
|
||||
char* ptr;
|
||||
XftPatternGetString(fonts->fonts[i], XFT_FAMILY, 0, &ptr);
|
||||
core::stringw family(ptr);
|
||||
families.insert(family);
|
||||
}
|
||||
XftPatternDestroy(pattern);
|
||||
FcObjectSetDestroy(objectset);
|
||||
|
||||
/* Copy the sorted list into the array */
|
||||
FontNames.clear();
|
||||
for (std::set<core::stringw>::iterator i = families.begin(); i != families.end(); i++)
|
||||
FontNames.push_back((*i).c_str());
|
||||
}
|
||||
|
||||
bool CFontTool::makeBitmapFont(u32 fontIndex, u32 charsetIndex, s32 fontSize, u32 textureWidth, u32 textureHeight, bool bold, bool italic, bool aa, bool alpha)
|
||||
{
|
||||
if (fontIndex >= FontNames.size() || charsetIndex >= CharSets.size() )
|
||||
return false;
|
||||
|
||||
Display *display = (Display*) Device->getVideoDriver()->getExposedVideoData().OpenGLLinux.X11Display;
|
||||
u32 screen = DefaultScreen(display);
|
||||
Window win = RootWindow(display, screen);
|
||||
Visual *visual = DefaultVisual(display, screen);
|
||||
UseAlphaChannel = alpha;
|
||||
u32 currentImage = 0;
|
||||
|
||||
XftResult result;
|
||||
XftPattern *request = XftPatternCreate();
|
||||
char foundry[256], family[256];
|
||||
sprintf(&foundry[0],"%ls",CharSets[charsetIndex].c_str());
|
||||
sprintf(&family[0],"%ls",FontNames[fontIndex].c_str());
|
||||
XftPatternAddString(request, XFT_FOUNDRY, &foundry[0]);
|
||||
XftPatternAddString(request, XFT_FAMILY, &family[0]);
|
||||
XftPatternAddInteger(request, XFT_PIXEL_SIZE, fontSize);
|
||||
XftPatternAddInteger(request, XFT_WEIGHT, bold ? XFT_WEIGHT_BLACK : XFT_WEIGHT_LIGHT);
|
||||
XftPatternAddInteger(request, XFT_SLANT, italic ? XFT_SLANT_ITALIC : XFT_SLANT_ROMAN);
|
||||
XftPatternAddBool(request, XFT_ANTIALIAS, aa);
|
||||
|
||||
/* Find the closest font that matches the user choices and open it and check if the returned
|
||||
font has anti aliasing enabled by default, even if it wasn't requested */
|
||||
FcBool aaEnabled;
|
||||
XftPattern *found = XftFontMatch(display, DefaultScreen(display), request, &result);
|
||||
XftPatternGetBool(found, XFT_ANTIALIAS, 0, &aaEnabled);
|
||||
aa = aaEnabled;
|
||||
XftFont *font = XftFontOpenPattern(display, found);
|
||||
|
||||
// get rid of the current textures/images
|
||||
for (u32 i=0; i<currentTextures.size(); ++i)
|
||||
currentTextures[i]->drop();
|
||||
currentTextures.clear();
|
||||
for (u32 i=0; i<currentImages.size(); ++i)
|
||||
currentImages[i]->drop();
|
||||
currentImages.clear();
|
||||
CharMap.clear();
|
||||
Areas.clear();
|
||||
|
||||
/* Calculate the max height of the font. Annoyingly, it seems that the height property of the font
|
||||
is the maximum height of any single character, but a string of characters, aligned along their
|
||||
baselines, can exceed this figure. Because I don't know any better way of doing it, I'm going to
|
||||
have to use the brute force method.
|
||||
|
||||
Note: There will be a certain number of charters in a font, however they may not be grouped
|
||||
consecutively, and could in fact be spread out with many gaps */
|
||||
u32 maxY = 0;
|
||||
u32 charsFound = 0;
|
||||
for (FT_UInt charCode = 0; charsFound < FcCharSetCount(font->charset); charCode++)
|
||||
{
|
||||
if (!XftCharExists(display, font, charCode))
|
||||
continue;
|
||||
|
||||
charsFound++;
|
||||
|
||||
XGlyphInfo extents;
|
||||
XftTextExtents32(display, font, &charCode, 1, &extents);
|
||||
if ((extents.xOff <= 0) && (extents.height <= 0))
|
||||
continue;
|
||||
|
||||
/* Calculate the width and height, adding 1 extra pixel if anti aliasing is enabled */
|
||||
u32 chWidth = extents.xOff + (aa ? 1 : 0);
|
||||
u32 chHeight = (font->ascent - extents.y + extents.height) + (aa ? 1 : 0);
|
||||
if (chHeight > maxY)
|
||||
maxY = chHeight;
|
||||
|
||||
/* Store the character details here */
|
||||
SFontArea fontArea;
|
||||
fontArea.rectangle = core::rect<s32>(0, 0, chWidth, chHeight);
|
||||
CharMap.insert(charCode, Areas.size());
|
||||
Areas.push_back(fontArea);
|
||||
}
|
||||
core::stringc logmsg = "Found ";
|
||||
logmsg += (s32) (CharMap.size() + 1);
|
||||
logmsg += " characters";
|
||||
Device->getLogger()->log(logmsg.c_str());
|
||||
|
||||
/* Get the size of the chars and allocate them a position on a texture. If the next character that
|
||||
is added would be outside the width or height of the texture, then a new texture is added */
|
||||
u32 currentX = 0, currentY = 0, rowY = 0;
|
||||
for (core::map<wchar_t, u32>::Iterator it = CharMap.getIterator(); !it.atEnd(); it++)
|
||||
{
|
||||
s32 currentArea = (*it).getValue();
|
||||
SFontArea *fontArea = &Areas[currentArea];
|
||||
u32 chWidth = fontArea->rectangle.LowerRightCorner.X;
|
||||
u32 chHeight = fontArea->rectangle.LowerRightCorner.Y;
|
||||
|
||||
/* If the width of this char will exceed the textureWidth then start a new row */
|
||||
if ((currentX + chWidth) > textureWidth)
|
||||
{
|
||||
currentY += rowY;
|
||||
currentX = 0;
|
||||
|
||||
/* If the new row added to the texture exceeds the textureHeight then start a new texture */
|
||||
if ((currentY + rowY) > textureHeight)
|
||||
{
|
||||
currentImage++;
|
||||
currentY = 0;
|
||||
}
|
||||
rowY = 0;
|
||||
}
|
||||
|
||||
/* Update the area with the current x and y and texture */
|
||||
fontArea->rectangle = core::rect<s32>(currentX, currentY, currentX + chWidth, currentY + chHeight);
|
||||
fontArea->sourceimage = currentImage;
|
||||
currentX += chWidth + 1;
|
||||
if (chHeight + 1 > rowY)
|
||||
rowY = chHeight + 1;
|
||||
}
|
||||
|
||||
/* The last row of chars and the last texture weren't accounted for in the loop, so add them here */
|
||||
currentY += rowY;
|
||||
u32 lastTextureHeight = getTextureSizeFromSurfaceSize(currentY);
|
||||
currentImages.set_used(currentImage + 1);
|
||||
currentTextures.set_used(currentImage + 1);
|
||||
|
||||
/* Initialise colours */
|
||||
XftColor colFore, colBack;
|
||||
XRenderColor xFore = {0xffff, 0xffff, 0xffff, 0xffff};
|
||||
XRenderColor xBack = {0x0000, 0x0000, 0x0000, 0xffff};
|
||||
XftColorAllocValue(display, DefaultVisual(display, screen), DefaultColormap(display, screen), &xFore, &colFore);
|
||||
XftColorAllocValue(display, DefaultVisual(display, screen), DefaultColormap(display, screen), &xBack, &colBack);
|
||||
|
||||
/* Create a pixmap that is large enough to hold any character in the font */
|
||||
Pixmap pixmap = XCreatePixmap(display, win, textureWidth, maxY, DefaultDepth(display, screen));
|
||||
XftDraw *draw = XftDrawCreate(display, pixmap, visual, DefaultColormap(display, screen));
|
||||
|
||||
/* Render the chars */
|
||||
for (currentImage = 0; currentImage < currentImages.size(); ++currentImage)
|
||||
{
|
||||
core::stringc logmsg = "Creating image ";
|
||||
logmsg += (s32) (currentImage+1);
|
||||
logmsg += " of ";
|
||||
logmsg += (s32) currentImages.size();
|
||||
Device->getLogger()->log(logmsg.c_str());
|
||||
|
||||
/* The last texture that is saved is vertically shrunk to fit the characters drawn on it */
|
||||
u32 texHeight = textureHeight;
|
||||
if (currentImage == currentImages.size() - 1)
|
||||
texHeight = lastTextureHeight;
|
||||
|
||||
/* The texture that holds this "page" of characters */
|
||||
currentImages[currentImage] = Device->getVideoDriver()->createImage(video::ECF_A8R8G8B8, core::dimension2du(textureWidth, texHeight));
|
||||
currentImages[currentImage]->fill(video::SColor(alpha ? 0 : 255,0,0,0));
|
||||
|
||||
for (core::map<wchar_t, u32>::Iterator it = CharMap.getIterator(); !it.atEnd(); it++)
|
||||
{
|
||||
FcChar32 wch = (*it).getKey();
|
||||
s32 currentArea = (*it).getValue();
|
||||
if (Areas[currentArea].sourceimage == currentImage)
|
||||
{
|
||||
SFontArea *fontArea = &Areas[currentArea];
|
||||
u32 chWidth = fontArea->rectangle.LowerRightCorner.X - fontArea->rectangle.UpperLeftCorner.X;
|
||||
u32 chHeight = fontArea->rectangle.LowerRightCorner.Y - fontArea->rectangle.UpperLeftCorner.Y;
|
||||
|
||||
/* Draw the glyph onto the pixmap */
|
||||
XGlyphInfo extents;
|
||||
XftDrawRect(draw, &colBack, 0, 0, chWidth, chHeight);
|
||||
XftTextExtents32(display, font, &wch, 1, &extents);
|
||||
XftDrawString32(draw, &colFore, font, extents.x, extents.y, &wch, 1);
|
||||
|
||||
/* Convert the pixmap into an image, then copy it onto the Irrlicht texture, pixel by pixel.
|
||||
There's bound to be a faster way, but this is adequate */
|
||||
u32 xDest = fontArea->rectangle.UpperLeftCorner.X;
|
||||
u32 yDest = fontArea->rectangle.UpperLeftCorner.Y + font->ascent - extents.y;
|
||||
XImage *image = XGetImage(display, pixmap, 0, 0, chWidth, chHeight, 0xffffff, XYPixmap);
|
||||
if (image)
|
||||
{
|
||||
for (u32 ySrc = 0; ySrc < chHeight; ySrc++)
|
||||
for (u32 xSrc = 0; xSrc < chWidth; xSrc++)
|
||||
{
|
||||
/* Get the pixel colour and break it down into rgb components */
|
||||
u32 col = XGetPixel(image, xSrc, ySrc);
|
||||
u32 a = 255;
|
||||
u32 r = col & visual->red_mask;
|
||||
u32 g = col & visual->green_mask;
|
||||
u32 b = col & visual->blue_mask;
|
||||
while (r > 0xff) r >>= 8;
|
||||
while (g > 0xff) g >>= 8;
|
||||
while (b > 0xff) b >>= 8;
|
||||
|
||||
/* To make the background transparent, set the colour to 100% white and the alpha to
|
||||
the average of the three rgb colour components to maintain the anti-aliasing */
|
||||
if (alpha)
|
||||
{
|
||||
a = (r + g + b) / 3;
|
||||
r = 255;
|
||||
g = 255;
|
||||
b = 255;
|
||||
}
|
||||
currentImages[currentImage]->setPixel(xDest + xSrc,yDest + ySrc,video::SColor(a,r,g,b));
|
||||
}
|
||||
image->f.destroy_image(image);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Add the texture to the list */
|
||||
currentTextures[currentImage] = Device->getVideoDriver()->addTexture("GUIFontImage",currentImages[currentImage]);
|
||||
currentTextures[currentImage]->grab();
|
||||
}
|
||||
|
||||
XftColorFree (display, visual, DefaultColormap(display, screen), &colFore);
|
||||
XftColorFree (display, visual, DefaultColormap(display, screen), &colBack);
|
||||
XftFontClose(display,font);
|
||||
XftPatternDestroy(request);
|
||||
XftDrawDestroy(draw);
|
||||
XFreePixmap(display, pixmap);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
CFontTool::~CFontTool()
|
||||
{
|
||||
#ifdef _IRR_WINDOWS_
|
||||
// destroy display context
|
||||
if (dc)
|
||||
DeleteDC(dc);
|
||||
#endif
|
||||
|
||||
// drop textures+images
|
||||
for (u32 i=0; i<currentTextures.size(); ++i)
|
||||
currentTextures[i]->drop();
|
||||
currentTextures.clear();
|
||||
|
||||
for (u32 i=0; i<currentImages.size(); ++i)
|
||||
currentImages[i]->drop();
|
||||
currentImages.clear();
|
||||
}
|
||||
|
||||
bool CFontTool::saveBitmapFont(const c8 *filename, const c8* format)
|
||||
{
|
||||
if (currentImages.size() == 0)
|
||||
{
|
||||
Device->getLogger()->log("No image data to write, aborting.");
|
||||
return false;
|
||||
}
|
||||
|
||||
core::stringc fn = filename;
|
||||
core::stringc imagename = filename;
|
||||
fn += ".xml";
|
||||
|
||||
io::IXMLWriter *writer = Device->getFileSystem()->createXMLWriter(fn.c_str());
|
||||
|
||||
// header and line breaks
|
||||
writer->writeXMLHeader();
|
||||
writer->writeLineBreak();
|
||||
|
||||
// write information
|
||||
writer->writeElement(L"font", false, L"type", L"bitmap");
|
||||
writer->writeLineBreak();
|
||||
writer->writeLineBreak();
|
||||
|
||||
// write images and link to them
|
||||
for (u32 i=0; i<currentImages.size(); ++i)
|
||||
{
|
||||
imagename = filename;
|
||||
imagename += (s32)i;
|
||||
imagename += ".";
|
||||
imagename += format;
|
||||
Device->getVideoDriver()->writeImageToFile(currentImages[i],imagename.c_str());
|
||||
|
||||
writer->writeElement(L"Texture", true,
|
||||
L"index", core::stringw(i).c_str(),
|
||||
L"filename", core::stringw(imagename.c_str()).c_str(),
|
||||
L"hasAlpha", UseAlphaChannel ? L"true" : L"false");
|
||||
writer->writeLineBreak();
|
||||
}
|
||||
|
||||
writer->writeLineBreak();
|
||||
|
||||
// write each character
|
||||
core::map<wchar_t, u32>::Iterator it = CharMap.getIterator();
|
||||
while (!it.atEnd())
|
||||
{
|
||||
SFontArea &fa = Areas[(*it).getValue()];
|
||||
|
||||
wchar_t c[2];
|
||||
c[0] = (*it).getKey();
|
||||
c[1] = L'\0';
|
||||
core::stringw area, under, over, image;
|
||||
area = core::stringw(fa.rectangle.UpperLeftCorner.X);
|
||||
area += L", ";
|
||||
area += fa.rectangle.UpperLeftCorner.Y;
|
||||
area += L", ";
|
||||
area += fa.rectangle.LowerRightCorner.X;
|
||||
area += L", ";
|
||||
area += fa.rectangle.LowerRightCorner.Y;
|
||||
|
||||
core::array<core::stringw> names;
|
||||
core::array<core::stringw> values;
|
||||
names.clear();
|
||||
values.clear();
|
||||
// char
|
||||
names.push_back(core::stringw(L"c"));
|
||||
values.push_back(core::stringw(c));
|
||||
// image number
|
||||
if (fa.sourceimage != 0)
|
||||
{
|
||||
image = core::stringw(fa.sourceimage);
|
||||
names.push_back(core::stringw(L"i"));
|
||||
values.push_back(image);
|
||||
}
|
||||
// rectangle
|
||||
names.push_back(core::stringw(L"r"));
|
||||
values.push_back(area);
|
||||
|
||||
if (fa.underhang != 0)
|
||||
{
|
||||
under = core::stringw(fa.underhang);
|
||||
names.push_back(core::stringw(L"u"));
|
||||
values.push_back(under);
|
||||
}
|
||||
if (fa.overhang != 0)
|
||||
{
|
||||
over = core::stringw(fa.overhang);
|
||||
names.push_back(core::stringw(L"o"));
|
||||
values.push_back(over);
|
||||
}
|
||||
writer->writeElement(L"c", true, names, values);
|
||||
|
||||
writer->writeLineBreak();
|
||||
it++;
|
||||
}
|
||||
|
||||
writer->writeClosingTag(L"font");
|
||||
|
||||
writer->drop();
|
||||
|
||||
Device->getLogger()->log("Bitmap font saved.");
|
||||
|
||||
return true;
|
||||
}
|
@ -1,78 +0,0 @@
|
||||
#ifndef __IRR_FONT_TOOL_INCLUDED__
|
||||
#define __IRR_FONT_TOOL_INCLUDED__
|
||||
|
||||
|
||||
#include "irrlicht.h"
|
||||
|
||||
#if defined(_IRR_WINDOWS_)
|
||||
#ifdef _MBCS
|
||||
#undef _MBCS
|
||||
#endif
|
||||
|
||||
#define UNICODE
|
||||
#define _WIN32_WINNT 0x0500
|
||||
#include "windows.h"
|
||||
#else
|
||||
#ifdef _IRR_COMPILE_WITH_X11_
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
#include <X11/Xft/Xft.h>
|
||||
#include <set>
|
||||
#endif
|
||||
|
||||
|
||||
namespace irr {
|
||||
class CFontTool : public irr::IReferenceCounted
|
||||
{
|
||||
public:
|
||||
CFontTool(irr::IrrlichtDevice* device);
|
||||
~CFontTool();
|
||||
|
||||
virtual bool makeBitmapFont(u32 fontIndex, u32 charsetIndex,
|
||||
s32 fontSize, u32 texturewidth, u32 textureHeight,
|
||||
bool bold, bool italic, bool aa, bool alpha);
|
||||
|
||||
virtual bool saveBitmapFont(const c8* filename, const c8* format);
|
||||
|
||||
virtual void selectCharSet(u32 currentCharSet);
|
||||
|
||||
struct SFontArea
|
||||
{
|
||||
SFontArea() : rectangle(), underhang(0), overhang(0), sourceimage(0) {}
|
||||
core::rect<s32> rectangle;
|
||||
s32 underhang;
|
||||
s32 overhang;
|
||||
u32 sourceimage;
|
||||
};
|
||||
|
||||
/* struct SFontMap
|
||||
{
|
||||
SFontMap() : areas(), start(0), count(0) {}
|
||||
core::array< SFontArea > areas;
|
||||
s32 start;
|
||||
s32 count;
|
||||
};*/
|
||||
|
||||
|
||||
|
||||
core::array<core::stringw> FontNames;
|
||||
core::array<core::stringw> CharSets;
|
||||
//core::array<SFontMap> Mappings;
|
||||
core::array<SFontArea> Areas;
|
||||
core::map<wchar_t, u32> CharMap;
|
||||
|
||||
core::array<video::ITexture*> currentTextures;
|
||||
core::array<video::IImage*> currentImages;
|
||||
const int *FontSizes;
|
||||
IrrlichtDevice *Device;
|
||||
|
||||
bool UseAlphaChannel;
|
||||
|
||||
// windows
|
||||
#ifdef _IRR_WINDOWS_
|
||||
HDC dc;
|
||||
#endif
|
||||
|
||||
};
|
||||
}
|
||||
#endif // __IRR_FONT_TOOL_INCLUDED__
|
File diff suppressed because it is too large
Load Diff
@ -1,38 +0,0 @@
|
||||
# Makefile for Irrlicht Examples
|
||||
# It's usually sufficient to change just the target name and source file list
|
||||
# and be sure that CXX is set to a valid compiler
|
||||
Target = FontTool
|
||||
Sources = CFontTool.cpp main.cpp
|
||||
|
||||
# general compiler settings
|
||||
CPPFLAGS = -I../../../include -I/usr/X11R6/include -I/usr/include/freetype2/
|
||||
CXXFLAGS = -O3 -ffast-math
|
||||
#CXXFLAGS = -g -Wall
|
||||
|
||||
#default target is Linux
|
||||
all: all_linux
|
||||
|
||||
ifeq ($(HOSTTYPE), x86_64)
|
||||
LIBSELECT=64
|
||||
endif
|
||||
|
||||
# target specific settings
|
||||
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXft -lfontconfig
|
||||
all_linux clean_linux: SYSTEM=Linux
|
||||
all_win32: LDFLAGS = -L../../../lib/Win32-gcc -lIrrlicht -lgdi32 -lopengl32 -lglu32 -lm
|
||||
all_win32 clean_win32: SYSTEM=Win32-gcc
|
||||
all_win32 clean_win32: SUF=.exe
|
||||
# name of the binary - only valid for targets which set SYSTEM
|
||||
DESTPATH = ../../../bin/$(SYSTEM)/$(Target)$(SUF)
|
||||
|
||||
all_linux all_win32:
|
||||
$(warning Building...)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
|
||||
|
||||
clean: clean_linux clean_win32
|
||||
$(warning Cleaning...)
|
||||
|
||||
clean_linux clean_win32:
|
||||
@$(RM) $(DESTPATH)
|
||||
|
||||
.PHONY: all all_win32 clean clean_linux clean_win32
|
@ -1,207 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>FontTool</ProjectName>
|
||||
<ProjectGuid>{4D53E40F-37E3-42B1-8848-F4C6F8313A17}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CFontTool.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CFontTool.h" />
|
||||
<ClInclude Include="CVectorFontTool.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\source\Irrlicht\Irrlicht10.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,207 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>FontTool</ProjectName>
|
||||
<ProjectGuid>{4D53E40F-37E3-42B1-8848-F4C6F8313A17}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CFontTool.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CFontTool.h" />
|
||||
<ClInclude Include="CVectorFontTool.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,207 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>FontTool</ProjectName>
|
||||
<ProjectGuid>{4D53E40F-37E3-42B1-8848-F4C6F8313A17}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CFontTool.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CFontTool.h" />
|
||||
<ClInclude Include="CVectorFontTool.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,207 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>FontTool</ProjectName>
|
||||
<ProjectGuid>{4D53E40F-37E3-42B1-8848-F4C6F8313A17}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win32-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib gdi32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../../bin/Win64-visualstudio/FontTool.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>../../../lib/Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>
|
||||
</LinkTimeCodeGeneration>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CFontTool.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CFontTool.h" />
|
||||
<ClInclude Include="CVectorFontTool.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\source\Irrlicht\Irrlicht11.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,493 +0,0 @@
|
||||
/*
|
||||
Tool for creating Irrlicht bitmap+vector fonts,
|
||||
started by Gaz Davidson in December 2006
|
||||
|
||||
Due to my laziness and Microsoft's unintuitive API, surrogate pairs and
|
||||
nonspacing diacritical marks are not supported!
|
||||
|
||||
Linux bitmap font support added by Neil Burlock Oct 2008
|
||||
Note: Xft/Freetype2 is used to render the fonts under X11. Anti-aliasing
|
||||
is controlled by the system and cannot be overriden by an application,
|
||||
so fonts that are rendered will be aliased or anti-aliased depending
|
||||
on the system that they are created on.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#include <irrlicht.h>
|
||||
#include <iostream>
|
||||
|
||||
#include "CFontTool.h"
|
||||
#include "CVectorFontTool.h"
|
||||
#include "ITexture.h"
|
||||
|
||||
using namespace irr;
|
||||
using namespace gui;
|
||||
|
||||
#pragma comment(lib, "Irrlicht.lib")
|
||||
|
||||
const s32 texturesizes[] = {128, 256, 512, 1024, 2048, 4096, 0};
|
||||
|
||||
const wchar_t *fileformats[] = { L"bmp", L"ppm", 0 }; // bitmap font formats
|
||||
const wchar_t *alphafileformats[] = { L"png", L"tga", 0 }; // bitmap font formats which support alpha channels
|
||||
const wchar_t *vectorfileformats[] = { L"xml", L"bin", 0 }; // file formats for vector fonts
|
||||
|
||||
const wchar_t *warntext = L"Legal Notice\n"
|
||||
L"------------\n\n"
|
||||
L"When making bitmap and vector fonts, you should consider the potential legal "
|
||||
L"issues with redistributing the fonts with your software; this tool basically "
|
||||
L"copies font data and some authors might not like this!\n"
|
||||
L"If you purchased fonts or they came with an application or your OS, you'll have"
|
||||
L"to check the license to see what restrictions are placed on making derivative works.\n\n"
|
||||
L"PD and the OFL\n"
|
||||
L"--------------\n\n"
|
||||
L"You'll find lots of fonts on the web listed as Public Domain, you can do what you like "
|
||||
L"with these.\n"
|
||||
L"Many fonts are released under the Open Font License, which is a 'viral' open source "
|
||||
L"license like the GPL. It's worth reading the license here: http://scripts.sil.org/OFL\n"
|
||||
L"The most important restrictions are- you must include the original font's license, you "
|
||||
L"can't stop your users from using or distributing the font, the font must have a "
|
||||
L"different name the original.\n\n"
|
||||
L"Some free fonts can be found here- www.openfontlibrary.org\n"
|
||||
L"http://savannah.nongnu.org/projects/freefont/";
|
||||
|
||||
const wchar_t *helptext = L"This tool creates bitmap fonts for the Irrlicht Engine\n\n"
|
||||
|
||||
L"First select a character encoding from the list, then choose the font, "
|
||||
L"size, and whether you'd like bold, italic, antialiasing and an alpha channel. "
|
||||
L"In Windows, antialiasing will be ignored for small fonts\n\n"
|
||||
|
||||
L"Then select a texture width and height. If the output exceeds this then more than "
|
||||
L"one image will be created. You can use the scrollbar at the top of the screen to "
|
||||
L"preview them. Most modern graphics cards will support up to 2048x2048, "
|
||||
L"keep in mind that more images means worse performance when drawing text!\n\n"
|
||||
|
||||
L"If you want a vector font rather than a bitmap font, check the vector box. "
|
||||
L"Vector fonts are stored in system memory while bitmap fonts are in video ram\n\n"
|
||||
|
||||
L"Click create to preview your font, this may take lots of time and memory "
|
||||
L"when making a font with a lot of characters, please be patient!\n\n"
|
||||
|
||||
L"Now you're ready to give your font a name, select a format and click save.\n\n"
|
||||
L"To load your font in Irrlicht, simply use env->getFont(\"Myfont.xml\");\n\n"
|
||||
|
||||
L"That's all, have fun :-)";
|
||||
|
||||
#ifdef _IRR_WINDOWS_
|
||||
const wchar_t *completeText = L"Font created";
|
||||
#else
|
||||
const wchar_t *completeText = L"Font created\n\n"
|
||||
L"Please note that anti-aliasing under X11 is controlled by the system "
|
||||
L"configuration, so if your system is set to use anti-aliasing, then so "
|
||||
L"will any fonts you create with FontTool";
|
||||
#endif
|
||||
|
||||
enum MYGUI
|
||||
{
|
||||
MYGUI_CHARSET = 100,
|
||||
MYGUI_FONTNAME,
|
||||
MYGUI_SIZE,
|
||||
MYGUI_TEXWIDTH,
|
||||
MYGUI_TEXHEIGHT,
|
||||
MYGUI_BOLD,
|
||||
MYGUI_ITALIC,
|
||||
MYGUI_ANTIALIAS,
|
||||
MYGUI_ALPHA,
|
||||
MYGUI_VECTOR,
|
||||
MYGUI_FILENAME,
|
||||
MYGUI_FORMAT,
|
||||
MYGUI_CREATE,
|
||||
MYGUI_SAVE,
|
||||
MYGUI_IMAGE,
|
||||
MYGUI_CURRENTIMAGE,
|
||||
MYGUI_HELPBUTTON
|
||||
};
|
||||
|
||||
|
||||
// event reciever
|
||||
class MyEventReceiver : public IEventReceiver
|
||||
{
|
||||
public:
|
||||
|
||||
MyEventReceiver(IrrlichtDevice* device, CFontTool*& fonttool, CVectorFontTool* &vectool) :
|
||||
Device(device), FontTool(fonttool), VecTool(vectool)
|
||||
{
|
||||
device->setEventReceiver(this);
|
||||
}
|
||||
|
||||
virtual bool OnEvent(const SEvent &event)
|
||||
{
|
||||
if (event.EventType == EET_GUI_EVENT)
|
||||
{
|
||||
s32 id = event.GUIEvent.Caller->getID();
|
||||
IGUIEnvironment* env = Device->getGUIEnvironment();
|
||||
|
||||
switch(event.GUIEvent.EventType)
|
||||
{
|
||||
case EGET_SCROLL_BAR_CHANGED:
|
||||
if (id == MYGUI_CURRENTIMAGE)
|
||||
{
|
||||
IGUIImage* img = (IGUIImage*)env->getRootGUIElement()->getElementFromId(MYGUI_IMAGE,true);
|
||||
s32 i = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos();
|
||||
img->setImage(FontTool->currentTextures[i]);
|
||||
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case EGET_COMBO_BOX_CHANGED:
|
||||
if (id == MYGUI_CHARSET)
|
||||
{
|
||||
IGUIComboBox* cbo = (IGUIComboBox*)event.GUIEvent.Caller;
|
||||
FontTool->selectCharSet(cbo->getSelected());
|
||||
// rebuild font list
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FONTNAME,true);
|
||||
cbo->clear();
|
||||
for (u32 i=0; i < FontTool->FontNames.size(); ++i)
|
||||
cbo->addItem(FontTool->FontNames[i].c_str());
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case EGET_CHECKBOX_CHANGED:
|
||||
if (id == MYGUI_VECTOR)
|
||||
{
|
||||
IGUICheckBox* chk = (IGUICheckBox*)event.GUIEvent.Caller;
|
||||
|
||||
IGUIComboBox *cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FORMAT,true);
|
||||
cbo->clear();
|
||||
|
||||
if (chk->isChecked() && VecTool)
|
||||
{
|
||||
// vector formats
|
||||
for (s32 i=0; fileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(vectorfileformats[i]).c_str());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// bitmap formats
|
||||
if (!FontTool->UseAlphaChannel)
|
||||
{
|
||||
// add non-alpha formats
|
||||
for (s32 i=0; fileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(fileformats[i]).c_str());
|
||||
}
|
||||
// add formats which support alpha
|
||||
for (s32 i=0; alphafileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(alphafileformats[i]).c_str());
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case EGET_BUTTON_CLICKED:
|
||||
|
||||
if (id == MYGUI_CREATE)
|
||||
{
|
||||
// create the font with the params
|
||||
IGUIComboBox* cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_CHARSET, true);
|
||||
int charset = cbo->getSelected();
|
||||
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FONTNAME,true);
|
||||
int fontname = cbo->getSelected();
|
||||
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_SIZE,true);
|
||||
int fontsize = cbo->getSelected();
|
||||
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_TEXWIDTH,true);
|
||||
int texwidth = cbo->getSelected();
|
||||
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_TEXHEIGHT,true);
|
||||
int texheight = cbo->getSelected();
|
||||
|
||||
IGUICheckBox* chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_BOLD,true);
|
||||
bool bold = chk->isChecked();
|
||||
chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_ITALIC,true);
|
||||
bool italic = chk->isChecked();
|
||||
|
||||
chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_ALPHA,true);
|
||||
bool alpha = chk->isChecked();
|
||||
|
||||
chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_ANTIALIAS,true);
|
||||
bool aa = chk->isChecked();
|
||||
|
||||
// vector fonts disabled
|
||||
//chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_VECTOR,true);
|
||||
bool vec = false;//chk->isChecked();
|
||||
|
||||
FontTool->makeBitmapFont(fontname, charset, FontTool->FontSizes[fontsize], texturesizes[texwidth], texturesizes[texheight], bold, italic, aa, alpha);
|
||||
|
||||
IGUIScrollBar* scrl = (IGUIScrollBar*)env->getRootGUIElement()->getElementFromId(MYGUI_CURRENTIMAGE,true);
|
||||
scrl->setMax(FontTool->currentTextures.size() == 0 ? 0 : FontTool->currentTextures.size()-1);
|
||||
|
||||
if (FontTool->currentTextures.size() > 0)
|
||||
{
|
||||
IGUIImage* img = (IGUIImage*)env->getRootGUIElement()->getElementFromId(MYGUI_IMAGE,true);
|
||||
img->setImage(FontTool->currentTextures[0]);
|
||||
scrl->setPos(0);
|
||||
}
|
||||
|
||||
// make sure users pick a file format that supports alpha channel
|
||||
cbo = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FORMAT,true);
|
||||
cbo->clear();
|
||||
|
||||
if (vec)
|
||||
{
|
||||
// add vector formats
|
||||
for (s32 i=0; fileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(vectorfileformats[i]).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!alpha)
|
||||
{
|
||||
// add non-alpha formats
|
||||
for (s32 i=0; fileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(fileformats[i]).c_str());
|
||||
}
|
||||
// add formats which support alpha
|
||||
for (s32 i=0; alphafileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(alphafileformats[i]).c_str());
|
||||
}
|
||||
if (VecTool)
|
||||
{
|
||||
delete VecTool;
|
||||
VecTool = 0;
|
||||
}
|
||||
if (vec)
|
||||
{
|
||||
VecTool = new CVectorFontTool(FontTool);
|
||||
}
|
||||
|
||||
/* Message box letting the user know the process is complete */
|
||||
env->addMessageBox(L"Create", completeText);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (id == MYGUI_SAVE)
|
||||
{
|
||||
IGUIEditBox *edt = (IGUIEditBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FILENAME,true);
|
||||
core::stringc name = edt->getText();
|
||||
|
||||
IGUIComboBox *fmt = (IGUIComboBox*)env->getRootGUIElement()->getElementFromId(MYGUI_FORMAT,true);
|
||||
core::stringc format = fmt->getItem(fmt->getSelected());
|
||||
|
||||
// vector fonts disabled
|
||||
IGUICheckBox *chk = (IGUICheckBox*)env->getRootGUIElement()->getElementFromId(MYGUI_VECTOR,true);
|
||||
bool vec = false; // chk->isChecked();
|
||||
|
||||
if (vec && VecTool)
|
||||
VecTool->saveVectorFont(name.c_str(), format.c_str());
|
||||
else
|
||||
FontTool->saveBitmapFont(name.c_str(), format.c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (id == MYGUI_HELPBUTTON)
|
||||
{
|
||||
env->addMessageBox(L"Irrlicht Unicode Font Tool", helptext);
|
||||
return true;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
IrrlichtDevice* Device;
|
||||
CFontTool* FontTool;
|
||||
CVectorFontTool* VecTool;
|
||||
|
||||
};
|
||||
|
||||
void createGUI(IrrlichtDevice* device, CFontTool* fc)
|
||||
{
|
||||
gui::IGUIEnvironment *env = device->getGUIEnvironment();
|
||||
|
||||
// change transparency of skin
|
||||
for (s32 i=0; i<gui::EGDC_COUNT ; ++i)
|
||||
{
|
||||
video::SColor col = env->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);
|
||||
col.setAlpha(255);
|
||||
env->getSkin()->setColor((gui::EGUI_DEFAULT_COLOR)i, col);
|
||||
}
|
||||
|
||||
IGUIWindow *win = env->addWindow( core::rect<s32>(10,10,200,500), false, L"Font Creator");
|
||||
win->getCloseButton()->setVisible(false);
|
||||
|
||||
s32 xs=10,xp=xs, yp=30, h=20;
|
||||
|
||||
env->addStaticText(L"Charset", core::rect<s32>(xp,yp,50,yp+h),false,false, win);
|
||||
|
||||
xp+=60;
|
||||
|
||||
// charset combo
|
||||
gui::IGUIComboBox* cbo = env->addComboBox( core::rect<s32>(xp,yp,180,yp+h),win, MYGUI_CHARSET);
|
||||
for (u32 i=0; i < fc->CharSets.size(); ++i)
|
||||
cbo->addItem(fc->CharSets[i].c_str());
|
||||
|
||||
yp += (s32)(h*1.5f);
|
||||
xp = xs;
|
||||
|
||||
env->addStaticText(L"Font", core::rect<s32>(xp,yp,50,yp+h),false,false, win);
|
||||
|
||||
xp+=60;
|
||||
|
||||
// font name combo
|
||||
cbo = env->addComboBox( core::rect<s32>(xp,yp,180,yp+h),win, MYGUI_FONTNAME);
|
||||
for (u32 i=0; i < fc->FontNames.size(); ++i)
|
||||
cbo->addItem(fc->FontNames[i].c_str());
|
||||
|
||||
yp += (s32)(h*1.5f);
|
||||
xp = xs;
|
||||
|
||||
env->addStaticText(L"Size", core::rect<s32>(xp,yp,50,yp+h),false,false, win);
|
||||
|
||||
xp += 60;
|
||||
|
||||
// font size combo
|
||||
cbo = env->addComboBox( core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_SIZE);
|
||||
for (s32 i=0; fc->FontSizes[i] != 0; ++i)
|
||||
cbo->addItem( ((core::stringw(fc->FontSizes[i])) + L"px").c_str());
|
||||
|
||||
xp = xs;
|
||||
yp += (s32)(h*1.5f);
|
||||
|
||||
// bold checkbox
|
||||
env->addCheckBox(false, core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_BOLD, L"Bold");
|
||||
|
||||
xp += 45;
|
||||
|
||||
// italic checkbox
|
||||
env->addCheckBox(false, core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_ITALIC, L"Italic");
|
||||
|
||||
xp += 45;
|
||||
|
||||
// AA checkbox
|
||||
env->addCheckBox(false, core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_ANTIALIAS, L"AA");
|
||||
|
||||
xp +=40;
|
||||
|
||||
// Alpha checkbox
|
||||
env->addCheckBox(false, core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_ALPHA, L"Alpha");
|
||||
|
||||
xp = xs;
|
||||
yp += (s32)(h*1.5f);
|
||||
|
||||
/*
|
||||
// vector fonts can't be loaded yet
|
||||
env->addCheckBox(false, core::rect<s32>(xp,yp,xp+200,yp+h),win, MYGUI_VECTOR, L"Vector Font");
|
||||
*/
|
||||
|
||||
yp += (s32)(h*1.5f);
|
||||
|
||||
env->addStaticText(L"Max Width:", core::rect<s32>(xp,yp,50,yp+h),false,false, win);
|
||||
|
||||
xp += 60;
|
||||
|
||||
// texture widths
|
||||
cbo = env->addComboBox( core::rect<s32>(xp,yp,xp+70,yp+h),win, MYGUI_TEXWIDTH);
|
||||
for (s32 i=0; texturesizes[i] != 0; ++i)
|
||||
cbo->addItem( ((core::stringw(texturesizes[i])) + L" wide").c_str());
|
||||
|
||||
xp=xs;
|
||||
yp += (s32)(h*1.5f);
|
||||
|
||||
env->addStaticText(L"Max Height:", core::rect<s32>(xp,yp,60,yp+h),false,false, win);
|
||||
|
||||
xp += 60;
|
||||
|
||||
// texture height
|
||||
cbo = env->addComboBox( core::rect<s32>(xp,yp,xp+70,yp+h),win, MYGUI_TEXHEIGHT);
|
||||
for (s32 i=0; texturesizes[i] != 0; ++i)
|
||||
cbo->addItem( ((core::stringw(texturesizes[i])) + L" tall").c_str());
|
||||
|
||||
// file name
|
||||
xp = xs;
|
||||
yp += (s32)(h*1.5f);
|
||||
env->addStaticText(L"Filename", core::rect<s32>(xp,yp,60,yp+h),false,false, win);
|
||||
xp += 60;
|
||||
env->addEditBox(L"myfont",core::rect<s32>(xp,yp,xp+70,yp+h), true, win, MYGUI_FILENAME);
|
||||
|
||||
// file format
|
||||
xp = xs;
|
||||
yp += (s32)(h*1.5f);
|
||||
env->addStaticText(L"File Format", core::rect<s32>(xp,yp,60,yp+h),false,false, win);
|
||||
xp += 60;
|
||||
|
||||
cbo = env->addComboBox( core::rect<s32>(xp,yp,xp+70,yp+h),win, MYGUI_FORMAT);
|
||||
for (s32 i=0; fileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(fileformats[i]).c_str());
|
||||
for (s32 i=0; alphafileformats[i] != 0; ++i)
|
||||
cbo->addItem( core::stringw(alphafileformats[i]).c_str());
|
||||
|
||||
xp = xs;
|
||||
yp += h*2;
|
||||
|
||||
// create button
|
||||
env->addButton( core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_CREATE, L"Create");
|
||||
|
||||
xp += 60;
|
||||
|
||||
// save button
|
||||
env->addButton( core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_SAVE, L"Save");
|
||||
|
||||
xp += 60;
|
||||
|
||||
// help button
|
||||
env->addButton( core::rect<s32>(xp,yp,xp+50,yp+h),win, MYGUI_HELPBUTTON, L"Help");
|
||||
|
||||
// font image
|
||||
gui::IGUIImage *img = env->addImage(0, core::position2d<s32>(0,0), true,0, MYGUI_IMAGE);
|
||||
img->setRelativePosition(core::rect<s32>(0,20,800,600));
|
||||
|
||||
// font scrollbar
|
||||
IGUIScrollBar *scrl= env->addScrollBar(true,core::rect<s32>(0,0,800,20),0, MYGUI_CURRENTIMAGE);
|
||||
scrl->setMax(0);
|
||||
scrl->setSmallStep(1);
|
||||
|
||||
yp += h*3;
|
||||
|
||||
env->getRootGUIElement()->bringToFront(win);
|
||||
win->setRelativePosition( core::rect<s32>(10,10,200,yp));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
IrrlichtDevice* device =createDevice(video::EDT_OPENGL, core::dimension2du(800, 600));
|
||||
video::IVideoDriver* driver = device->getVideoDriver();
|
||||
scene::ISceneManager* smgr = device->getSceneManager();
|
||||
gui::IGUIEnvironment *env = device->getGUIEnvironment();
|
||||
|
||||
// create font tool
|
||||
CFontTool *fc = new CFontTool(device);
|
||||
CVectorFontTool *vc = 0;
|
||||
|
||||
IEventReceiver *events = new MyEventReceiver(device,fc,vc);
|
||||
|
||||
createGUI(device, fc);
|
||||
|
||||
while(device->run())
|
||||
{
|
||||
if (device->isWindowActive())
|
||||
{
|
||||
|
||||
driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(0,200,200,200));
|
||||
smgr->drawAll();
|
||||
env->drawAll();
|
||||
driver->endScene();
|
||||
}
|
||||
}
|
||||
|
||||
// drop the font tool and resources
|
||||
fc->drop();
|
||||
|
||||
device->drop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,16 +0,0 @@
|
||||
There are two tools available for creating fonts for irrlicht, both are supported.
|
||||
|
||||
oldFontTool:
|
||||
only works in Windows, creates a simple image file containing all data for displaying fonts.
|
||||
Those file contain no alpha informations and are limited in their character set.
|
||||
use the IrrFontTool.exe file in this directory.
|
||||
|
||||
newFontTool:
|
||||
a more sophisticated font tool supporting alpha channels, anti aliasing,
|
||||
different character sets, vector fonts and other operating systems than
|
||||
just windows. It will create multiple image files and an .xml file
|
||||
containing meta information for the generated font.
|
||||
You can find it as FontTool.exe in the /bin directory.
|
||||
|
||||
A third tool to create fonts for Irrlicht is web-based on maintained by armen:
|
||||
http://armen138.me/FontMapper/
|
@ -1,38 +0,0 @@
|
||||
# Makefile for Irrlicht Examples
|
||||
# It's usually sufficient to change just the target name and source file list
|
||||
# and be sure that CXX is set to a valid compiler
|
||||
Target = MeshConverter
|
||||
Sources = main.cpp
|
||||
|
||||
# general compiler settings
|
||||
CPPFLAGS = -I../../include -I/usr/X11R6/include
|
||||
CXXFLAGS = -O3 -ffast-math -Wall
|
||||
#CXXFLAGS = -g -Wall
|
||||
|
||||
#default target is Linux
|
||||
all: all_linux
|
||||
|
||||
ifeq ($(HOSTTYPE), x86_64)
|
||||
LIBSELECT=64
|
||||
endif
|
||||
|
||||
# target specific settings
|
||||
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11
|
||||
all_linux clean_linux: SYSTEM=Linux
|
||||
all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lglu32 -lm
|
||||
all_win32 clean_win32: SYSTEM=Win32-gcc
|
||||
all_win32 clean_win32: SUF=.exe
|
||||
# name of the binary - only valid for targets which set SYSTEM
|
||||
DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
|
||||
|
||||
all_linux all_win32:
|
||||
$(warning Building...)
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
|
||||
|
||||
clean: clean_linux clean_win32
|
||||
$(warning Cleaning...)
|
||||
|
||||
clean_linux clean_win32:
|
||||
@$(RM) $(DESTPATH)
|
||||
|
||||
.PHONY: all all_win32 clean clean_linux clean_win32
|
@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="Mesh Converter" />
|
||||
<Option pch_mode="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Linux">
|
||||
<Option platforms="Unix;" />
|
||||
<Option output="../../bin/Linux/MeshConverter" prefix_auto="0" extension_auto="0" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add option="-D_IRR_STATIC_LIB_" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="Xxf86vm" />
|
||||
<Add library="GL" />
|
||||
<Add library="X11" />
|
||||
<Add directory="../../lib/Linux" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Windows">
|
||||
<Option platforms="Windows;" />
|
||||
<Option output="../../bin/Win32-gcc/MeshConverter" prefix_auto="0" extension_auto="1" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="../../lib/Win32-gcc" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<VirtualTargets>
|
||||
<Add alias="All" targets="Windows;Linux;" />
|
||||
</VirtualTargets>
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add directory="../../include" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="Irrlicht" />
|
||||
</Linker>
|
||||
<Unit filename="main.cpp" />
|
||||
<Extensions>
|
||||
<code_completion />
|
||||
<debugger />
|
||||
<envvars />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
@ -1,195 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>MeshConverter</ProjectName>
|
||||
<ProjectGuid>{E72B637E-4AA6-46F3-885F-AC67B4B470ED}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)TestProject.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht10.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,196 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>MeshConverter</ProjectName>
|
||||
<ProjectGuid>{E72B637E-4AA6-46F3-885F-AC67B4B470ED}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)TestProject.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)TestProject.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht10.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,196 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>MeshConverter</ProjectName>
|
||||
<ProjectGuid>{E72B637E-4AA6-46F3-885F-AC67B4B470ED}</ProjectGuid>
|
||||
<RootNamespace>GUI Editor</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>Windows7.1SDK</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)TestProject.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions> kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib glu32.lib opengl32.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)TestProject.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win32-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Full</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;WIN64NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>../../bin/Win64-visualstudio/MeshConverter.exe</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\source\Irrlicht\Irrlicht10.0.vcxproj">
|
||||
<Project>{e08e042a-6c45-411b-92be-3cc31331019f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user