Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2006-11-08 23:33:28 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2006-11-08 23:33:28 +0300
commitf350836342e8dc4906dc38a3da905cbc336b06a7 (patch)
tree2770a99eb76db6655009f9d0aad46877a2bc10c7
parent011f531359102a624126841b7ddf7beb94af1f7e (diff)
While I'm breaking build systems anyway, also removed the two img modules,
they are not used anymore in the new image paint code.
-rw-r--r--intern/img/doc/Doxyfile.win747
-rw-r--r--intern/img/extern/IMG_Pixmap.h200
-rw-r--r--intern/img/extern/IMG_PixmapRGBA32.h218
-rw-r--r--intern/img/intern/IMG_Color.h143
-rw-r--r--intern/img/intern/IMG_MemPtr.h118
-rw-r--r--intern/img/intern/IMG_Pixmap.cpp88
-rw-r--r--intern/img/intern/IMG_PixmapRGBA32.cpp267
-rw-r--r--intern/img/intern/Makefile43
-rw-r--r--intern/img/make/msvc/img.dsp126
-rw-r--r--intern/img/make/msvc/img.dsw41
-rw-r--r--intern/img/make/msvc_7_0/img.sln21
-rw-r--r--intern/img/make/msvc_7_0/img.vcproj142
-rw-r--r--source/blender/SConscript1
-rw-r--r--source/blender/img/IMG_Api.h69
-rw-r--r--source/blender/img/Makefile37
-rw-r--r--source/blender/img/SConscript6
-rw-r--r--source/blender/img/intern/IMG_Api.cpp167
-rw-r--r--source/blender/img/intern/IMG_BrushRGBA32.cpp132
-rw-r--r--source/blender/img/intern/IMG_BrushRGBA32.h134
-rw-r--r--source/blender/img/intern/IMG_CanvasRGBA32.cpp337
-rw-r--r--source/blender/img/intern/IMG_CanvasRGBA32.h102
-rw-r--r--source/blender/img/intern/IMG_Color.h150
-rw-r--r--source/blender/img/intern/IMG_Line.cpp37
-rw-r--r--source/blender/img/intern/IMG_Line.h142
-rw-r--r--source/blender/img/intern/IMG_MemPtr.h115
-rw-r--r--source/blender/img/intern/IMG_Pixmap.cpp60
-rw-r--r--source/blender/img/intern/IMG_Pixmap.h187
-rw-r--r--source/blender/img/intern/IMG_PixmapRGBA32.cpp332
-rw-r--r--source/blender/img/intern/IMG_PixmapRGBA32.h267
-rw-r--r--source/blender/img/intern/IMG_Rect.cpp132
-rw-r--r--source/blender/img/intern/IMG_Rect.h201
-rw-r--r--source/blender/img/intern/IMG_Types.h49
-rw-r--r--source/blender/img/intern/Makefile49
33 files changed, 0 insertions, 4860 deletions
diff --git a/intern/img/doc/Doxyfile.win b/intern/img/doc/Doxyfile.win
deleted file mode 100644
index 242357fe7b5..00000000000
--- a/intern/img/doc/Doxyfile.win
+++ /dev/null
@@ -1,747 +0,0 @@
-# Doxyfile 1.2.4
-
-# This file describes the settings to be used by doxygen for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-#MAART: changed
-PROJECT_NAME = ImgLib
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-#MAART: changed
-OUTPUT_DIRECTORY = doc
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
-# Korean, Hungarian, Norwegian, Spanish, Romanian, Russian, Croatian,
-# Polish, Portuguese and Slovene.
-
-OUTPUT_LANGUAGE = English
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-# MAART: changed
-EXTRACT_STATIC = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these class will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH =
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a class diagram (in Html and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off.
-
-CLASS_DIAGRAMS = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower case letters. If set to YES upper case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are adviced to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-#MAART: changed
-JAVADOC_AUTOBRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# The ENABLE_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = .
-#C:\Documents and Settings\maarten\My Documents\develop\blender\source\blender\img
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse.
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side pannel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript and frames is required (for instance Netscape 4.0+
-# or Internet explorer 4.0+).
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-#MAART: changed
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-#MAART: changed
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using a WORD or other.
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-#MAART: changed
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation. Warning: This feature
-# is still experimental and very incomplete.
-
-GENERATE_XML = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
-# YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other
-# documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
-# YES then doxygen will generate a graph for each documented header file showing
-# the documented files that directly or indirectly include this file
-
-INCLUDED_BY_GRAPH = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
-
-CGI_URL =
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL =
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH =
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH = c:\program files\doxygen\bin
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS =
diff --git a/intern/img/extern/IMG_Pixmap.h b/intern/img/extern/IMG_Pixmap.h
deleted file mode 100644
index d9ab96cd745..00000000000
--- a/intern/img/extern/IMG_Pixmap.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * Abstract base class for pixmaps of different types.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifndef _H_IMG_Pixmap
-#define _H_IMG_Pixmap
-
-#include "GEN_Types.h"
-#include "GEN_Rect.h"
-
-
-class IMG_Pixmap
-{
-public:
- /** The type of pixels that are stored in this pixmap. */
- typedef enum {
- kPixelTypeUnknown = 0, /**< R:8, G:8, B:8, Ignore:8 */
-/* kPixelTypeRGB32 = 1, */ /*< R:8, G:8, B:8, Ignore:8 */
- kPixelTypeRGBA32 = 2, /**< R:8, G:8, B:8, Alpha:8 */
-/* kPixelTypeRGB16 = 3, */ /**< Ignore:1, R:5, G:5, B:5 */
-/* kPixelTypeRGBA16 = 4, */ /**< Alpha:1, R:5, G:5, B:5 */
-/* kPixelTypeRGB16_565 = 5, */ /**< R:5, G:6, B:5 */
-/* kPixelTypeRGB24 = 6 */ /**< R:8, G:8, B:8 */
- } TPixelType;
-
- /**
- * Default constructor.
- */
- IMG_Pixmap();
-
- /**
- * Constructs a pixmap with the requested width and height.
- * @param width The width of the pixmap created.
- * @param height The height of the pixmap created.
- */
- IMG_Pixmap(GEN_TUns32 width, GEN_TUns32 height);
-
- /**
- * Destructor.
- */
- virtual ~IMG_Pixmap();
-
- /**
- * Access to image data
- * @return pointer to the image data
- */
- virtual void* getDataPtr() const = 0;
-
- /**
- * Access to image width.
- * @return width of the image
- */
- inline GEN_TUns32 getWidth() const;
-
- /**
- * Access to image height.
- * @return height of the image
- */
- inline GEN_TUns32 getHeight() const;
-
- /**
- * Returns the bounds of the pixmap in a rectangle.
- * @param bounds of the image
- */
- inline void getBounds(GEN_Rect& r) const;
-
- /**
- * Access to pixel type.
- * @return the pixel type
- */
- inline TPixelType getPixelType() const;
-
- /**
- * Clamps coordinates inside (0, 0) and (width, height).
- * @param x requested x-coordinate
- * @param y requested y-coordinate
- */
- inline void clamp(GEN_TInt32& x, GEN_TInt32& y) const;
-
- /**
- * Clamps u, v coordinates between 0 and 1.
- * @param u requested u-coordinate
- * @param v requested v-coordinate
- */
- inline void clamp(float& u, float& v) const;
-
- /**
- * Converts (u,v) coordinates to pixel addresses.
- * Assumes that (u,v) coordinates are in the [0,1] range.
- * @param u requested u-coordinate in the image
- * @param v requested v-coordinate in the image
- * @param x calculated x-coordinate in the image
- * @param y calculated y-coordinate in the image
- */
- inline void getPixelAddress(float u, float v, GEN_TInt32& x, GEN_TInt32& y) const;
-
- /**
- * Fills the rectangle given with the color given.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- /*virtual void fillRect(const GEN_Rect& r, const IMG_ColorRGBA& c) = 0; */
-
-protected:
- /** Width of the image in pixels */
- GEN_TUns32 m_width;
- /** Height of the image in pixels */
- GEN_TUns32 m_height;
- /** Number of bytes for one row in the image. */
- GEN_TUns32 m_rowBytes;
- /** Size in bits for one pixel */
- GEN_TUns32 m_pixelSize;
- /** Type of pixels in this image. */
- TPixelType m_pixelType;
-/* TEndian m_bitOrder;
- TEndian m_byteOrder;
-*/
-};
-
-inline GEN_TUns32 IMG_Pixmap::getWidth() const
-{
- return m_width;
-}
-
-inline GEN_TUns32 IMG_Pixmap::getHeight() const
-{
- return m_height;
-}
-
-inline void IMG_Pixmap::getBounds(GEN_Rect& r) const
-{
- r.set(0, 0, m_width, m_height);
-}
-
-inline IMG_Pixmap::TPixelType IMG_Pixmap::getPixelType() const
-{
- return m_pixelType;
-}
-
-inline void IMG_Pixmap::clamp(GEN_TInt32& x, GEN_TInt32& y) const
-{
- if (x < 0) x = 0;
- if (x > (GEN_TInt32)m_width) x = (GEN_TInt32)m_width;
- if (y < 0) y = 0;
- if (y > (GEN_TInt32)m_height) y = (GEN_TInt32)m_height;
-}
-
-inline void IMG_Pixmap::clamp(float& u, float& v) const
-{
- if (u < 0.f) u = 0.f;
- if (u > 1.f) u = 1.f;
- if (v < 0.f) v = 0.f;
- if (v > 1.f) v = 1.f;
-}
-
-inline void IMG_Pixmap::getPixelAddress(float u, float v, GEN_TInt32& x, GEN_TInt32& y) const
-{
- x = (GEN_TInt32)(((float)m_width) * u);
- y = (GEN_TInt32)(((float)m_height) * v);
-}
-
-#endif /* _H_IMG_Pixmap */
-
diff --git a/intern/img/extern/IMG_PixmapRGBA32.h b/intern/img/extern/IMG_PixmapRGBA32.h
deleted file mode 100644
index 861b9ab3ebf..00000000000
--- a/intern/img/extern/IMG_PixmapRGBA32.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * Pixmap of kPixelTypeRGBA32 type.
- * A pixmap with 24 bits per pixel in ABGR format.
- * Provides methods to fill rectangular areas in this image with a color.
- * Provides methods to paste or blend other pixmaps into this pixmap.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-
-#ifndef _H_IMG_PixmapRGBA32
-#define _H_IMG_PixmapRGBA32
-
-#include "IMG_Pixmap.h"
-#include "IMG_MemPtr.h"
-#include "IMG_Color.h"
-
-
-class IMG_PixmapRGBA32 : public IMG_Pixmap {
-public:
- /** The pixel type in this pixmap. */
- typedef GEN_TUns32 TPixelRGBA32;
-
- /** The pixel pointer type of this pixmap. */
- typedef TPixelRGBA32* TPixelPtr;
-
- /** Indices of color component byes within a pixel. */
- typedef enum {
- bi_r = 0,
- bi_g = 1,
- bi_b = 2,
- bi_a = 3
- } TPixelIndex;
-
- /**
- * Constructor.
- * Creates a new pixmap of the kPixelTypeRGBA32 type with the requested dimensions.
- * @throw <IMG_MemPtr::Size> when an invalid width and/or height is passed.
- * @throw <IMG_MemPtr::Memory> when a there is not enough memory to allocate the image.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_PixmapRGBA32(GEN_TUns32 width, GEN_TUns32 height);
-
- /**
- * Constructor.
- * Creates a new pixmap of the kPixelTypeRGBA32 from a pointer to image data.
- * The image data will not be freed upon destruction of this object.
- * The owner of this object is reponsible for that.
- * @throw <Size> when an invalid width and/or height is passed.
- * @param image pointer to the image data.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_PixmapRGBA32(void* image, GEN_TUns32 width, GEN_TUns32 height, GEN_TUns32 rowBytes);
-
-#if 0
- /**
- * Destructor.
- */
- virtual ~IMG_PixmapRGBA32();
-#endif
-
- /**
- * Fills the rectangle given with the color given.
- * Retains the alpha values.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- virtual void fillRect(const GEN_Rect& r, const IMG_ColorRGB& c);
-
- /**
- * Fills the rectangle given with the color given.
- * Sets the alpha values from the color.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- virtual void fillRect(const GEN_Rect& r, const IMG_ColorRGBA& c);
-
- /**
- * Pastes an area of a pixmap into this pixmap.
- * Pastes an area of the given pixmap centered at the given coordinates into this pixmap.
- * Ignores the alpha information, this is pasted as well.
- * Performs a bounds check.
- * @param src the pixmap to paste.
- * @param srcBnds the bounds of the area of the pixmap to paste.
- * @param destBnds the destination area for the paste.
- */
- virtual void setPixmap(const IMG_PixmapRGBA32& src, const GEN_Rect& srcBnds, const GEN_Rect& destBnds);
-
- /**
- * Blends an area of a pixmap into this pixmap.
- * Blends an area of the given pixmap centered at the given coordinates into this pixmap.
- * The alpha information in the given image is used to blend.
- * Performs a bounds check.
- * @param src the pixmap to paste.
- * @param srcBnds the bounds of the area of the pixmap to paste.
- * @param destBnds the destination area for the paste.
- */
- virtual void blendPixmap(const IMG_PixmapRGBA32& src, const GEN_Rect& srcBnds, const GEN_Rect& destBnds);
-
-protected:
- /**
- * Returns pointer to the pixel.
- * Returns a pointer of TPixelPtr type to the pixel at the requested coordinates.
- * Does not perform a bounds check!
- * @param x column address of the pixel.
- * @param y row address of the pixel.
- * @return the pointer calculated.
- */
- inline TPixelPtr getPixelPtr(GEN_TUns32 x, GEN_TUns32 y) const;
-
- /**
- * Returns the pixel value of a color.
- * @param c the color to convert
- * @return the pixel value calculated
- */
- inline TPixelRGBA32 getPixelValue(const IMG_ColorRGBA& c) const;
-
- /**
- * Returns the color of from a pixel value.
- * @param p the pixel value
- * @param c the color calculated
- */
- inline void getColor(TPixelRGBA32 p, IMG_ColorRGBA& c) const;
-
-protected:
- /** "Save" memory pointer. */
- IMG_MemPtr<TPixelRGBA32> m_pixels;
-
- /** Pointer to the first pixel. */
- TPixelPtr m_pixelsBase;
-};
-
-
-inline IMG_PixmapRGBA32::TPixelPtr IMG_PixmapRGBA32::getPixelPtr(GEN_TUns32 x, GEN_TUns32 y) const
-{
- return (TPixelPtr) (((GEN_TUns8*)m_pixelsBase) + (y*m_rowBytes) + (x<<2));
-}
-
-
-inline IMG_PixmapRGBA32::TPixelRGBA32 IMG_PixmapRGBA32::getPixelValue(const IMG_ColorRGBA& c) const
-{
-#if 0
- /* Obtain pixel value through shifting */
- TPixelRGBA32 p = ((TPixelRGBA32) (((float) 0xFF) * c.m_a)) << 24;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_b)) << 16;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_g)) << 8;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_r));
- return p;
-#else
- /* Obtain pixel value through byte indexing */
- TPixelRGBA32 pixel;
- GEN_TUns8* bytes = (GEN_TUns8*)&pixel;
- bytes[bi_r] = (GEN_TUns8)(((float) 0xFF) * c.m_r);
- bytes[bi_g] = (GEN_TUns8)(((float) 0xFF) * c.m_g);
- bytes[bi_b] = (GEN_TUns8)(((float) 0xFF) * c.m_b);
- bytes[bi_a] = (GEN_TUns8)(((float) 0xFF) * c.m_a);
- return pixel;
-#endif
-}
-
-inline void IMG_PixmapRGBA32::getColor(TPixelRGBA32 p, IMG_ColorRGBA& c) const
-{
-#if 0
- /* Obtain color value through shifting */
- c.m_a = ((float) ((p >> 24) & 0x00FF)) / ((float) 0xFF);
- c.m_b = ((float) ((p >> 16) & 0x00FF)) / ((float) 0xFF);
- c.m_g = ((float) ((p >> 8) & 0x00FF)) / ((float) 0xFF);
- c.m_r = ((float) ( p & 0x00FF)) / ((float) 0xFF);
-#else
- /* Obtain color value through byte indexing */
- GEN_TUns8* bytes = (GEN_TUns8*)&p;
- c.m_r = ((float)bytes[bi_r]) / ((float) 0xFF);
- c.m_g = ((float)bytes[bi_g]) / ((float) 0xFF);
- c.m_b = ((float)bytes[bi_b]) / ((float) 0xFF);
- c.m_a = ((float)bytes[bi_a]) / ((float) 0xFF);
-#endif
-}
-
-#endif /* _H_IMG_PixmapRGBA32 */
-
diff --git a/intern/img/intern/IMG_Color.h b/intern/img/intern/IMG_Color.h
deleted file mode 100644
index b7b97fc4aa2..00000000000
--- a/intern/img/intern/IMG_Color.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * Declaration of an RGB color with red, green and blue components.
- * Declaration of an RGBA color with red, green, blue and alpha components.
- * Components are stored as floats.
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-
-#ifndef _H_IMG_Color
-#define _H_IMG_Color
-
-class IMG_ColorRGBA;
-
-class IMG_ColorRGB {
-public:
- /**
- * Constructs a color with the given values.
- * @param r requested red component of the color
- * @param g requested green component of the color
- * @param b requested blue component of the color
- */
- IMG_ColorRGB(float r=0, float g=0, float b=0)
- : m_r(r), m_g(g), m_b(b) {}
-
- /**
- * Copy constructor.
- * @param c the color to copy.
- */
- IMG_ColorRGB(const IMG_ColorRGB& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b) {}
-
- /**
- * Constructs a color without alpha from one with.
- * @param c the color to copy.
- */
- inline IMG_ColorRGB(const IMG_ColorRGBA& c);
-
- /** Red component of the color */
- float m_r;
- /** Green component of the color */
- float m_g;
- /** Blue component of the color */
- float m_b;
-};
-
-
-class IMG_ColorRGBA {
-public:
- /**
- * Constructs a color with the given values.
- * @param r requested red component of the color
- * @param g requested green component of the color
- * @param b requested blue component of the color
- * @param a requested alpha component of the color
- */
- IMG_ColorRGBA(float r=0, float g=0, float b=0, float a=0)
- : m_r(r), m_g(g), m_b(b), m_a(a) {}
-
- /**
- * Copy constructor.
- * @param c the color to copy.
- */
- IMG_ColorRGBA(const IMG_ColorRGBA& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b), m_a(c.m_a) {}
-
- /**
- * Constructs a color with alpha from one without.
- * @param c the color to copy.
- */
- IMG_ColorRGBA(const IMG_ColorRGB& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b), m_a(0) {}
-
- /**
- * Blends the given color with this color.
- * Uses the alpha of the given color for blending.
- * The alpha of this color is left untouched.
- * @param c the color to blend
- */
- inline void blendColor(const IMG_ColorRGBA& c);
-
- /** Red component of the color */
- float m_r;
- /** Green component of the color */
- float m_g;
- /** Blue component of the color */
- float m_b;
- /** Alpha component of the color */
- float m_a;
-};
-
-inline IMG_ColorRGB::IMG_ColorRGB(const IMG_ColorRGBA& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b) {}
-
-inline void IMG_ColorRGBA::blendColor(const IMG_ColorRGBA& c)
-{
- float r1 = 1 - c.m_a; /* The reverse of alpha */
-#if IMG_REVERSED_ALPHA
- m_r = c.m_a * m_r + r1 * c.m_r;
- m_g = c.m_a * m_g + r1 * c.m_g;
- m_b = c.m_a * m_b + r1 * c.m_b;
-#else
- m_r = r1 * m_r + c.m_a * c.m_r;
- m_g = r1 * m_g + c.m_a * c.m_g;
- m_b = r1 * m_b + c.m_a * c.m_b;
-#endif
-}
-
-#endif /* _H_IMG_Color */
-
diff --git a/intern/img/intern/IMG_MemPtr.h b/intern/img/intern/IMG_MemPtr.h
deleted file mode 100644
index a89e1f48d00..00000000000
--- a/intern/img/intern/IMG_MemPtr.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * @author Maarten Gribnau
- * @date March 8, 2001
- */
-
-#ifndef _H_IMG_MemPtr
-#define _H_IMG_MemPtr
-
-#include <stddef.h>
-
-/**
- * A memory pointer for memory of any type.
- * It can be used to avoid memory leaks when allocating memory in constructors.
- * @author Maarten Gribnau
- * @date March 8, 2001
- */
-
-template <class T> class IMG_MemPtr {
-public:
- /** Pointer to the memory */
- T* m_p;
- bool m_owned;
-
- /**
- * Size exception.
- * A size exception is thrown when an invalid width and/or height is passed.
- */
- class Size {};
- /**
- * Memory exception.
- * A size exception is thrown when a there is not enough memory to allocate the image.
- */
- class Memory {};
-
- /**
- * Constructs a memory pointer.
- * @param s requested size of the pointer
- * @throw <Size> when an invalid width and/or height is passed.
- * @throw <Memory> when a there is not enough memory to allocate the image.
- */
- IMG_MemPtr(size_t s)
- : m_p(0), m_owned(false)
- {
- if (s > 0) {
- m_p = new T[s];
- if (!m_p) {
- throw Memory();
- }
- m_owned = true;
- }
- else {
- throw Size();
- }
- }
-
- /**
- * Constructs a memory pointer from a pointer.
- * @param p the pointer
- * @param s requested size of the pointer
- * @throw <Size> when an invalid width and/or height is passed.
- */
- IMG_MemPtr(void* p, size_t s)
- : m_p(0), m_owned(false)
- {
- if (p && (s > 0)) {
- m_p = (T*)p;
- }
- else {
- throw Size();
- }
- }
-
- /**
- * Destructor.
- */
- ~IMG_MemPtr() { if (m_p && m_owned) { delete [] m_p; m_p = 0; } }
-
- /**
- * Access to the memory.
- * @return pointer to the memory
- */
- operator T*() { return m_p; }
-};
-
-#endif /* _H_IMG_MemPtr */
-
diff --git a/intern/img/intern/IMG_Pixmap.cpp b/intern/img/intern/IMG_Pixmap.cpp
deleted file mode 100644
index 51bf3b30038..00000000000
--- a/intern/img/intern/IMG_Pixmap.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * Base class for pixmaps.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "../extern/IMG_Pixmap.h"
-
-
-IMG_Pixmap::IMG_Pixmap()
-{
- m_width = 0;
- m_height = 0;
- m_rowBytes = 0;
- m_pixelSize = 0;
- m_pixelType = kPixelTypeUnknown;
-/*
-#if OS_MACINTOSH
- bitOrder = kQ3EndianBig;
- byteOrder = kQ3EndianBig;
-#else
- bitOrder = kQ3EndianLittle;
- byteOrder = kQ3EndianLittle;
-#endif
-*/
-}
-
-
-IMG_Pixmap::IMG_Pixmap(GEN_TUns32 width, GEN_TUns32 height)
-{
- m_width = width;
- m_height = height;
- m_rowBytes = 0;
- m_pixelSize = 0;
- m_pixelType = kPixelTypeUnknown;
-/*
-#if OS_MACINTOSH
- bitOrder = kQ3EndianBig;
- byteOrder = kQ3EndianBig;
-#else
- bitOrder = kQ3EndianLittle;
- byteOrder = kQ3EndianLittle;
-#endif
-*/
-}
-
-
-IMG_Pixmap::~IMG_Pixmap()
-{
-}
diff --git a/intern/img/intern/IMG_PixmapRGBA32.cpp b/intern/img/intern/IMG_PixmapRGBA32.cpp
deleted file mode 100644
index a79ffe1b6e4..00000000000
--- a/intern/img/intern/IMG_PixmapRGBA32.cpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-/**
-
- * $Id$
- * Copyright (C) 2001 NaN Technologies B.V.
- * Base class for pixmaps.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "IMG_PixmapRGBA32.h"
-
-IMG_PixmapRGBA32::IMG_PixmapRGBA32(GEN_TUns32 width, GEN_TUns32 height)
- : IMG_Pixmap(), m_pixels(width * height)
-{
- m_pixelsBase = m_pixels;
- m_width = width;
- m_height = height;
- m_rowBytes = width * sizeof(TPixelRGBA32);
- m_pixelSize = 32;
- m_pixelType = kPixelTypeRGBA32;
-}
-
-
-IMG_PixmapRGBA32::IMG_PixmapRGBA32(void* image, GEN_TUns32 width, GEN_TUns32 height, GEN_TUns32 rowBytes)
- : IMG_Pixmap(), m_pixels(image, width * rowBytes)
-{
- m_pixelsBase = m_pixels;
- m_width = width;
- m_height = height;
- m_rowBytes = rowBytes;
- m_pixelSize = 32;
- m_pixelType = kPixelTypeRGBA32;
-}
-
-
-void IMG_PixmapRGBA32::fillRect(const GEN_Rect& r, const IMG_ColorRGB& c)
-{
- GEN_Rect t_bnds (0, 0, m_width, m_height); /* Bounds of this pixmap */
- GEN_Rect r_bnds (r); /* Area to set */
-
- /* Determine visibility */
- GEN_TVisibility v = t_bnds.getVisibility(r_bnds);
- if (v == GEN_kNotVisible) return;
- if (v == GEN_kPartiallyVisible) {
- /* Clip the destination rectangle to the bounds of this pixmap
- */
- t_bnds.clip(r_bnds);
- if (r_bnds.isEmpty()) {
- return;
- }
- }
-
-#if 0
- /* Set new pixels using shifting */
- /* Prepare the pixel value to set */
- IMG_ColorRGBA ca (c);
- TPixelRGBA32 pv = getPixelValue(c);
- /* Mask off the alpha bits */
- pv &= 0x00FFFFFF; /* 0xFFFFFF00; */
-
- /* Set the pixels in the destination rectangle */
- for (GEN_TInt32 y = r.m_t; y < r.m_b; y++) {
- /* Park pixel pointer at the start pixels */
- TPixelPtr desPtr = getPixelPtr(r_bnds.m_l, y);
- for (GEN_TInt32 x = r.m_l; x < r.m_r; x++) {
- /* Set the new pixel value (retain current alpha) */
- *(desPtr++) = pv | ((*desPtr) & 0xFF000000); /*0x000000FF); */
- }
- }
-#else
- /* Set new values using byte indexing */
- /*IMG_ColorRGBA ca (c); */
- TPixelRGBA32 src = getPixelValue(c);
- TPixelPtr desPtr;
- GEN_TUns8* srcBytes = (GEN_TUns8*) &src;
-
- /* Set the pixels in the destination rectangle */
- for (GEN_TInt32 y = r.m_t; y < r.m_b; y++) {
- /* Park pixel pointer at the start pixels */
- desPtr = getPixelPtr(r_bnds.m_l, y);
- for (GEN_TInt32 x = r.m_l; x < r.m_r; x++) {
- /* Set the new pixel value (retain current alpha) */
- ((GEN_TUns8*)desPtr)[bi_r] = srcBytes[bi_r];
- ((GEN_TUns8*)desPtr)[bi_g] = srcBytes[bi_g];
- ((GEN_TUns8*)desPtr)[bi_b] = srcBytes[bi_b];
- desPtr++;
- }
- }
-#endif
-}
-
-
-void IMG_PixmapRGBA32::fillRect(const GEN_Rect& r, const IMG_ColorRGBA& c)
-{
- GEN_Rect t_bnds (0, 0, m_width, m_height); /* Bounds of this pixmap */
- GEN_Rect r_bnds (r); /* Area to set */
-
- /* Determine visibility */
- GEN_TVisibility v = t_bnds.getVisibility(r_bnds);
- if (v == GEN_kNotVisible) return;
- if (v == GEN_kPartiallyVisible) {
- /* Clip the destination rectangle to the bounds of this pixmap
- */
- t_bnds.clip(r_bnds);
- if (r_bnds.isEmpty()) {
- return;
- }
- }
-
- /* Set the pixels in the destination rectangle */
- TPixelRGBA32 pixel = getPixelValue(c);
- for (GEN_TInt32 y = r.m_t; y < r.m_b; y++) {
- /* Park pixel pointer at the start pixels */
- TPixelPtr desPtr = getPixelPtr(r_bnds.m_l, y);
- for (GEN_TInt32 x = r.m_l; x < r.m_r; x++) {
- *(desPtr++) = pixel;
- }
- }
-}
-
-
-void IMG_PixmapRGBA32::setPixmap(const IMG_PixmapRGBA32& src, const GEN_Rect& srcBnds, const GEN_Rect& destBnds)
-{
- GEN_Rect i_bnds (srcBnds); /* Bounds of input pixmap */
- GEN_Rect t_bnds (0, 0, m_width, m_height); /* Bounds of this pixmap */
- GEN_Rect p_bnds (destBnds); /* Bounds of the paste area */
-
- /* The next check could be removed if the caller is made
- responsible for handing us non-empty rectangles */
- if (i_bnds.isEmpty()) {
- /* Nothing to do */
- return;
- }
-
- /* Determine visibility of the paste area */
- GEN_TVisibility v = t_bnds.getVisibility(p_bnds);
- if (v == GEN_kNotVisible) return;
- if (v == GEN_kPartiallyVisible) {
- /* Clipping is needed */
- if (p_bnds.m_l < 0) {
- i_bnds.m_l += -p_bnds.m_l;
- p_bnds.m_l = 0;
- }
- if (p_bnds.m_t < 0) {
- i_bnds.m_t += -p_bnds.m_t;
- p_bnds.m_t = 0;
- }
- GEN_TInt32 d = t_bnds.getWidth();
- if (p_bnds.m_r > d) {
- i_bnds.m_r -= d - p_bnds.m_r;
- p_bnds.m_r = d;
- }
- d = t_bnds.getHeight();
- if (p_bnds.m_b > d) {
- i_bnds.m_b -= d - p_bnds.m_b;
- p_bnds.m_b = d;
- }
- }
-
- /* Iterate through the rows */
- for (GEN_TInt32 r = 0; r < p_bnds.getHeight(); r++) {
- /* Park pixel pointers at the start pixels */
- TPixelPtr srcPtr = src.getPixelPtr(i_bnds.m_l, i_bnds.m_t + r);
- TPixelPtr desPtr = getPixelPtr(p_bnds.m_l, p_bnds.m_t + r);
- /* Iterate through the columns */
- for (int c = 0; c < p_bnds.getWidth(); c++) {
- *(desPtr++) = *(srcPtr++);
- }
- }
-}
-
-
-void IMG_PixmapRGBA32::blendPixmap(const IMG_PixmapRGBA32& src, const GEN_Rect& srcBnds, const GEN_Rect& destBnds)
-{
- GEN_Rect i_bnds (srcBnds); /* Bounds of input pixmap */
- GEN_Rect t_bnds (0, 0, m_width, m_height); /* Bounds of this pixmap */
- GEN_Rect p_bnds (destBnds); /* Bounds of the paste area */
-
- /* The next check could be removed if the caller is made responsible
- for handing us non-empty rectangles */
- if (i_bnds.isEmpty()) {
- /* Nothing to do */
- return;
- }
-
- /* Determine visibility of the paste area */
- GEN_TVisibility v = t_bnds.getVisibility(p_bnds);
- if (v == GEN_kNotVisible) return;
- if (v == GEN_kPartiallyVisible) {
- /* Clipping is needed */
- if (p_bnds.m_l < 0) {
- i_bnds.m_l += -p_bnds.m_l;
- p_bnds.m_l = 0;
- }
- if (p_bnds.m_t < 0) {
- i_bnds.m_t += -p_bnds.m_t;
- p_bnds.m_t = 0;
- }
- GEN_TInt32 d = t_bnds.getWidth();
- if (p_bnds.m_r > d) {
- i_bnds.m_r -= p_bnds.m_r - d;
- p_bnds.m_r = d;
- }
- d = t_bnds.getHeight();
- if (p_bnds.m_b > d) {
- i_bnds.m_b -= p_bnds.m_b - d;
- p_bnds.m_b = d;
- }
- }
-
- IMG_ColorRGBA srcColor;
- IMG_ColorRGBA desColor;
-
- /* Iterate through the rows */
- for (int r = 0; r < p_bnds.getHeight(); r++) {
- /* Park pixel pointers at the start pixels */
- TPixelPtr srcPtr = src.getPixelPtr(i_bnds.m_l, i_bnds.m_t + r);
- TPixelPtr desPtr = getPixelPtr(p_bnds.m_l, p_bnds.m_t + r);
- /* Iterate through the columns */
- for (int c = 0; c < p_bnds.getWidth(); c++) {
- /* Retrieve colors from source and destination pixmaps*/
- getColor(*srcPtr, srcColor);
- getColor(*desPtr, desColor);
- /* Blend the colors */
- desColor.blendColor(srcColor);
- /* Write color back to destination pixmap */
- *desPtr = getPixelValue(desColor);
- srcPtr++;
- desPtr++;
- }
- }
-}
diff --git a/intern/img/intern/Makefile b/intern/img/intern/Makefile
deleted file mode 100644
index 824699f49bc..00000000000
--- a/intern/img/intern/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# $Id$
-#
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License. See http://www.blender.org/BL/ for information
-# about this.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): none yet.
-#
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
-# Makefile for the img library
-
-LIBNAME = img
-DIR = $(OCGDIR)/intern/$(LIBNAME)
-
-include nan_compile.mk
-
-CCFLAGS += $(LEVEL_2_CPP_WARNINGS)
-
-CPPFLAGS += -I../../generic/extern
-CPPFLAGS += -I../extern
-CPPFLAGS += -I../intern
-
diff --git a/intern/img/make/msvc/img.dsp b/intern/img/make/msvc/img.dsp
deleted file mode 100644
index 5110bdbb200..00000000000
--- a/intern/img/make/msvc/img.dsp
+++ /dev/null
@@ -1,126 +0,0 @@
-# Microsoft Developer Studio Project File - Name="img" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=img - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "img.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "img.mak" CFG="img - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "img - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "img - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "img - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\..\obj\img\windows\"
-# PROP Intermediate_Dir "..\..\..\..\..\obj\img\windows\"
-# PROP Target_Dir ""
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../../generic/extern" /I "../extern" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "img - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\..\obj\img\windows\debug"
-# PROP Intermediate_Dir "..\..\..\..\..\obj\img\windows\debug"
-# PROP Target_Dir ""
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../generic/extern" /I "../extern" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "img - Win32 Release"
-# Name "img - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\intern\IMG_Pixmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\intern\IMG_PixmapRGBA32.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Group "intern"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\intern\IMG_Color.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\intern\IMG_MemPtr.h
-# End Source File
-# End Group
-# Begin Group "extern"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\extern\IMG_Pixmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\extern\IMG_PixmapRGBA32.h
-# End Source File
-# End Group
-# End Group
-# End Target
-# End Project
diff --git a/intern/img/make/msvc/img.dsw b/intern/img/make/msvc/img.dsw
deleted file mode 100644
index 433f994ce5c..00000000000
--- a/intern/img/make/msvc/img.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "generic"="..\..\..\generic\make\msvc\generic.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "img"=".\img.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/intern/img/make/msvc_7_0/img.sln b/intern/img/make/msvc_7_0/img.sln
deleted file mode 100644
index ae107f825d0..00000000000
--- a/intern/img/make/msvc_7_0/img.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "img", "img.vcproj", "{06306F63-7933-4CE4-AF3D-4FBD8AD80811}"
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- ConfigName.0 = Debug
- ConfigName.1 = Release
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {06306F63-7933-4CE4-AF3D-4FBD8AD80811}.Debug.ActiveCfg = Debug|Win32
- {06306F63-7933-4CE4-AF3D-4FBD8AD80811}.Debug.Build.0 = Debug|Win32
- {06306F63-7933-4CE4-AF3D-4FBD8AD80811}.Release.ActiveCfg = Release|Win32
- {06306F63-7933-4CE4-AF3D-4FBD8AD80811}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/intern/img/make/msvc_7_0/img.vcproj b/intern/img/make/msvc_7_0/img.vcproj
deleted file mode 100644
index 33d39f26912..00000000000
--- a/intern/img/make/msvc_7_0/img.vcproj
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.00"
- Name="img"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\..\..\obj\img\windows"
- IntermediateDirectory=".\..\..\..\..\..\obj\img\windows"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../generic/extern,../extern"
- PreprocessorDefinitions="WIN32,NDEBUG,_LIB"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\..\..\..\..\..\obj\img\windows/img.pch"
- AssemblerListingLocation=".\..\..\..\..\..\obj\img\windows/"
- ObjectFile=".\..\..\..\..\..\obj\img\windows/"
- ProgramDataBaseFileName=".\..\..\..\..\..\obj\img\windows/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile=".\..\..\..\..\..\obj\img\windows\img.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\..\..\obj\img\windows\debug"
- IntermediateDirectory=".\..\..\..\..\..\obj\img\windows\debug"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../generic/extern,../extern"
- PreprocessorDefinitions="WIN32,_DEBUG,_LIB"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\..\..\..\..\..\obj\img\windows\debug/img.pch"
- AssemblerListingLocation=".\..\..\..\..\..\obj\img\windows\debug/"
- ObjectFile=".\..\..\..\..\..\obj\img\windows\debug/"
- ProgramDataBaseFileName=".\..\..\..\..\..\obj\img\windows\debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile=".\..\..\..\..\..\obj\img\windows\debug\img.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- </Configuration>
- </Configurations>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath="..\..\intern\IMG_Pixmap.cpp">
- </File>
- <File
- RelativePath="..\..\intern\IMG_PixmapRGBA32.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <Filter
- Name="intern"
- Filter="">
- <File
- RelativePath="..\..\intern\IMG_Color.h">
- </File>
- <File
- RelativePath="..\..\intern\IMG_MemPtr.h">
- </File>
- </Filter>
- <Filter
- Name="extern"
- Filter="">
- <File
- RelativePath="..\..\extern\IMG_Pixmap.h">
- </File>
- <File
- RelativePath="..\..\extern\IMG_PixmapRGBA32.h">
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/source/blender/SConscript b/source/blender/SConscript
index 75bd5d34822..7d4b0b8f3cf 100644
--- a/source/blender/SConscript
+++ b/source/blender/SConscript
@@ -9,7 +9,6 @@ SConscript(['avi/SConscript',
'blenpluginapi/SConscript',
'imbuf/SConscript',
'imbuf/intern/cineon/SConscript',
- 'img/SConscript',
'makesdna/SConscript',
'python/SConscript',
'radiosity/SConscript',
diff --git a/source/blender/img/IMG_Api.h b/source/blender/img/IMG_Api.h
deleted file mode 100644
index 6f9a25f483c..00000000000
--- a/source/blender/img/IMG_Api.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-#ifndef _H_IMG_API
-#define _H_IMG_API
-
-#include <stddef.h>
-
-typedef void* IMG_BrushPtr;
-typedef void* IMG_CanvasPtr;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern IMG_BrushPtr IMG_BrushCreate(unsigned int width, unsigned int height, float *rgba);
-extern void IMG_BrushDispose(IMG_BrushPtr brush);
-extern void IMG_BrushSetInnerRaduisRatio(IMG_BrushPtr brush,float aspect);
-
-extern IMG_CanvasPtr IMG_CanvasCreate(unsigned int width, unsigned int height);
-extern IMG_CanvasPtr IMG_CanvasCreateFromPtr(void* imagePtr, unsigned int width, unsigned int height, size_t rowBytes);
-extern void IMG_CanvasDispose(IMG_CanvasPtr canvas);
-extern void IMG_CanvasDraw(IMG_CanvasPtr canvas, IMG_BrushPtr brush, unsigned int x, unsigned int y);
-extern void IMG_CanvasDrawUV(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float u, float v);
-extern void IMG_CanvasDrawLine(IMG_CanvasPtr canvas, IMG_BrushPtr brush, unsigned int xStart, unsigned int yStart, unsigned int xEns, unsigned int yEnd);
-extern void IMG_CanvasDrawLineUV(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float uStart, float vStart, float uEnd, float vEnd);
-extern void IMG_CanvasDrawLineUVEX(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float uStart, float vStart, float uEnd, float vEnd, int torus);
-extern void IMG_CanvasSoftenAt(IMG_CanvasPtr canvas,float u, float v, unsigned int size,float alpha, float aspect, int torus);
-extern void IMG_CanvasFill(IMG_CanvasPtr canvas, float *rgba);
-extern void IMG_CanvasSmear(IMG_CanvasPtr canvas,float uStart, float vStart, float uEnd, float vEnd, unsigned int size, float alpha, float aspect, int torus);
-extern void IMG_CanvasCloneAt(IMG_CanvasPtr canvas,IMG_CanvasPtr other,float u,float v,float cu,float cv,int size,float alpha,float aspect);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _H_IMG_API
-
diff --git a/source/blender/img/Makefile b/source/blender/img/Makefile
deleted file mode 100644
index 2e1172d4635..00000000000
--- a/source/blender/img/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# $Id$
-#
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License. See http://www.blender.org/BL/ for information
-# about this.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): none yet.
-#
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
-#
-# Bounces make to subdirectories.
-
-SOURCEDIR = source/blender/img
-DIRS = intern
-
-include nan_subdirs.mk
diff --git a/source/blender/img/SConscript b/source/blender/img/SConscript
deleted file mode 100644
index a2a60c3428b..00000000000
--- a/source/blender/img/SConscript
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-Import ('env')
-
-sources = env.Glob('intern/*.cpp')
-
-env.BlenderLib ( 'blender_img', sources, [], [], libtype='core', priority = 35 )
diff --git a/source/blender/img/intern/IMG_Api.cpp b/source/blender/img/intern/IMG_Api.cpp
deleted file mode 100644
index e59d5bfa586..00000000000
--- a/source/blender/img/intern/IMG_Api.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-#include "../IMG_Api.h"
-#include "IMG_BrushRGBA32.h"
-#include "IMG_CanvasRGBA32.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-IMG_BrushPtr IMG_BrushCreate(unsigned int w, unsigned int h, float *rgba)
-{
- IMG_BrushPtr brush = 0;
- try {
- IMG_ColorRGB c (rgba[0], rgba[1], rgba[2]);
- brush = new IMG_BrushRGBA32 (w, h, c, rgba[3]);
- }
- catch (...) {
- brush = 0;
- }
- return brush;
-}
-
-void IMG_BrushDispose(IMG_BrushPtr brush)
-{
- if (brush) {
- delete ((IMG_BrushRGBA32*)brush);
- brush = 0;
- }
-}
-
-void IMG_BrushSetInnerRaduisRatio(IMG_BrushPtr brush,float aspect)
-{
- if (brush) {
- TUns32 he = ((IMG_BrushRGBA32*)brush)->getHeight();
- TUns32 we = ((IMG_BrushRGBA32*)brush)->getWidth();
- TUns32 si = we;
- if (he > si) si = we;
- he = si/2;
- we = (TUns32)(aspect*si/2);
-// if (we < 2) we = 2;
-
-
- ((IMG_BrushRGBA32*)brush)->setRadii(we,he);
- }
-}
-
-IMG_CanvasPtr IMG_CanvasCreate(unsigned int w, unsigned int h)
-{
- IMG_CanvasPtr canvas = 0;
- try {
- canvas = new IMG_CanvasRGBA32 (w, h);
- }
- catch (...) {
- canvas = 0;
- }
- return canvas;
-}
-
-IMG_CanvasPtr IMG_CanvasCreateFromPtr(void* imagePtr, unsigned int w, unsigned int h, size_t rowBytes)
-{
- IMG_CanvasPtr canvas = 0;
- try {
- canvas = new IMG_CanvasRGBA32 (imagePtr, w, h, rowBytes);
- }
- catch (...) {
- canvas = 0;
- }
- return canvas;
-}
-
-void IMG_CanvasDispose(IMG_CanvasPtr canvas)
-{
- if (canvas) {
- delete ((IMG_CanvasRGBA32*)canvas);
- canvas = 0;
- }
-}
-
-#if 0
-void IMG_CanvasDraw(IMG_CanvasPtr canvas, IMG_BrushPtr brush, unsigned int x, unsigned int y)
-{
- if (!(canvas && brush)) return;
- ((IMG_CanvasRGBA32*)canvas)->blendPixmap((TUns32)x, (TUns32)y, *((IMG_BrushRGBA32*)brush));
-}
-
-
-void IMG_CanvasDrawUV(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float u, float v)
-{
- if (!(canvas && brush)) return;
- ((IMG_CanvasRGBA32*)canvas)->blendPixmap(u, v, *((IMG_BrushRGBA32*)brush));
-}
-#endif
-
-
-void IMG_CanvasDrawLine(IMG_CanvasPtr canvas, IMG_BrushPtr brush, unsigned int xStart, unsigned int yStart, unsigned int xEnd, unsigned int yEnd)
-{
- if (!(canvas && brush)) return;
- ((IMG_CanvasRGBA32*)canvas)->blendPixmap((TUns32)xStart, (TUns32)yStart, (TUns32)xEnd, (TUns32)yEnd, *((IMG_BrushRGBA32*)brush));
-}
-
-
-void IMG_CanvasDrawLineUV(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float uStart, float vStart, float uEnd, float vEnd)
-{
- if (!(canvas && brush)) return;
- ((IMG_CanvasRGBA32*)canvas)->blendPixmap(uStart, vStart, uEnd, vEnd, *((IMG_BrushRGBA32*)brush));
-}
-
-void IMG_CanvasDrawLineUVEX(IMG_CanvasPtr canvas, IMG_BrushPtr brush, float uStart, float vStart, float uEnd, float vEnd, int torus)
-{
- if (!(canvas && brush)) return;
- ((IMG_CanvasRGBA32*)canvas)->blendPixmap(uStart, vStart, uEnd, vEnd, *((IMG_BrushRGBA32*)brush), torus);
-}
-
-void IMG_CanvasSoftenAt(IMG_CanvasPtr canvas,float u, float v, unsigned int size,float alpha, float aspect, int torus)
-{
- ((IMG_CanvasRGBA32*)canvas)->SoftenAt(u, v, (TUns32)size, alpha, aspect, torus);
-}
-
-void IMG_CanvasFill(IMG_CanvasPtr canvas, float *rgba)
-{
- IMG_ColorRGB c (rgba[0], rgba[1], rgba[2]);
- IMG_Rect R (0, 0, ((IMG_CanvasRGBA32*)canvas)->getWidth(),
- ((IMG_CanvasRGBA32*)canvas)->getHeight()); // Bounds of this pixmap
- ((IMG_CanvasRGBA32*)canvas)->fillRect(R, c);
-}
-
-void IMG_CanvasSmear(IMG_CanvasPtr canvas,float uStart, float vStart, float uEnd, float vEnd, unsigned int size, float alpha, float aspect, int torus)
-{
- ((IMG_CanvasRGBA32*)canvas)->Smear(uStart, vStart, uEnd, vEnd, size, alpha, aspect, torus);
-
-}
-
-void IMG_CanvasCloneAt(IMG_CanvasPtr canvas,IMG_CanvasPtr other,float u,float v,float cu,float cv,int size,float alpha,float aspect)
-{
- ((IMG_CanvasRGBA32*)canvas)->CloneAt((IMG_CanvasRGBA32*)other, u, v, cu, cv, size, alpha, aspect);
-}
-
diff --git a/source/blender/img/intern/IMG_BrushRGBA32.cpp b/source/blender/img/intern/IMG_BrushRGBA32.cpp
deleted file mode 100644
index 6678365d6da..00000000000
--- a/source/blender/img/intern/IMG_BrushRGBA32.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#include "IMG_BrushRGBA32.h"
-#include <math.h>
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-IMG_BrushRGBA32::IMG_BrushRGBA32(TUns32 w, TUns32 h, const IMG_ColorRGB& c, float a)
- : IMG_PixmapRGBA32(w, h), m_color(c), m_alpha(a)
-{
- m_ro = w < h ? w/2 : h/2;
- m_ri = m_ro >> 1;
- updateImage();
-}
-
-
-void IMG_BrushRGBA32::setColor(const IMG_ColorRGB& c)
-{
- m_color = c;
- updateImage();
-}
-
-
-void IMG_BrushRGBA32::setTransparency(float a)
-{
- m_alpha = a;
- if (m_alpha > 1.f) m_alpha = 1.f;
- if (m_alpha < 0.f) m_alpha = 0.f;
- updateImage();
-}
-
-
-void IMG_BrushRGBA32::setRadii(TUns32 rI, TUns32 rO)
-{
- m_ri = rI;
- m_ro = rO;
-
- TUns32 w_2 = m_width >> 1;
- TUns32 h_2 = m_height >> 1;
-
- /*
- * Make the brush size smaller than half of the minimum
- * width or height of the pixmap. Make sure that inner
- * radius <= outer radius.
- */
- if (m_ro > w_2) m_ro = w_2;
- if (m_ro > h_2) m_ro = h_2;
- if (m_ri > m_ro) m_ri = m_ro;
-
- updateImage();
-}
-
-
-void IMG_BrushRGBA32::updateImage()
-{
- float fcx = m_width / 2.0f;
- float fcy = m_height/ 2.0f ;
-
-
- // Prepare pixel values for this pixmap
- IMG_ColorRGBA c (m_color.m_r, m_color.m_g, m_color.m_b, 0.f);
- TPixelRGBA32 pOut = getPixelValue(c);
- c.m_a = m_alpha;
- TPixelRGBA32 pIn = getPixelValue(c);
- TPixelRGBA32 p = getPixelValue(c);
- TUns8* pa = & (((TUns8*)&p)[bi_a]);
-
- // Set the pixels in the destination rectangle
- for (TUns32 y = 0; y < m_height; y++) {
- // Park pixel pointer at the start pixels
- TPixelPtr desPtr = getPixelPtr(0, y);
- for (TUns32 x = 0; x < m_width; x++) {
- // Calculate the distance between current pixel and center
- float dX = (float)((TInt32)x - fcx);
- float dY = (float)((TInt32)y - fcy);
- float d = (float) ::sqrt(dX*dX + dY*dY);
- float a;
-
- if (d <= m_ri) {
- *desPtr = pIn;
- }
- else {
- if ((d < m_ro) && (m_ri < m_ro)) {
- // Calculate alpha, linear
- a = (d - m_ri) / (m_ro - m_ri);
- // Now: 0 <= a <= 1
- a = (float)::pow(a, 0.5f);
- a = (1.f - a) * m_alpha;
- // Now: m_alpha <= a <= 1
- // Store pixel
- *pa = (TUns8)(a * ((float)0xFF));
- *desPtr = p;
- }
- else {
- *desPtr = pOut;
- }
- }
- desPtr++;
- }
- }
-}
diff --git a/source/blender/img/intern/IMG_BrushRGBA32.h b/source/blender/img/intern/IMG_BrushRGBA32.h
deleted file mode 100644
index 90d4e124892..00000000000
--- a/source/blender/img/intern/IMG_BrushRGBA32.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-#ifndef _H_IMG_BrushRGBA32
-#define _H_IMG_BrushRGBA32
-
-#include "IMG_PixmapRGBA32.h"
-
-/**
- * A brush used for drawing in pixmaps.
- * The brush is a pixmap as well.
- * Drawing can be implemented by blending the brush into the pixmap.
- *
- * @author Maarten Gribnau
- * @date March 7, 2001
- * @todo Check the algorithm
- */
-
-class IMG_BrushRGBA32 : public IMG_PixmapRGBA32 {
-public:
- /**
- * Constructs a brush image with the dimensions and color given.
- * @param w width of the brush image
- * @param h height of the brush image
- * @param c color of the brush
- * @param a transparency in the center of the brush
- */
- IMG_BrushRGBA32(TUns32 w, TUns32 h, const IMG_ColorRGB& c, float a = 0.8f);
-
- /**
- * Sets the color of the brush.
- * @param c color of the brush
- */
- virtual void setColor(const IMG_ColorRGB& c);
-
- /**
- * Returns the color of the brush.
- * @param c color of the brush
- */
- inline virtual void getColor(IMG_ColorRGB& c) const;
-
- /**
- * Sets the transparency of the brush.
- * @param a transparency of the brush
- */
- virtual void setTransparency(float a);
-
- /**
- * Returns the transparency of the brush.
- * @param a transparency of the brush
- */
- inline virtual float getTransparency() const;
-
- /**
- * Sets the shape of the brush from two radii (inner and outer).
- * This creates a brush with alpha==0 inside the inner radius
- * and gradually fades to alpha==1 at the outer radius.
- * Inner radius should be smaller or equal to the outer radius.
- * If not, the outer radius is made equal to the inner radius.
- * If the either radius is larger than the bounds of the brush,
- * they are clipped.
- * @param rI inner radius
- * @param rO outer radius
- */
- virtual void setRadii(TUns32 rI, TUns32 rO);
-
- /**
- * Returns the radii that determine the shape of the brush.
- * @param rI inner radius
- * @param rO outer radius
- */
- inline virtual void getRadii(TUns32& rI, TUns32& rO) const;
-
-protected:
- /**
- * Updates the image of this brush.
- * The image is created using the current color, transparency and shape radii.
- */
- virtual void updateImage();
-
- IMG_ColorRGB m_color; /** The color of the brush */
- float m_alpha; /** The transparency of the brush */
- TUns32 m_ri; /** The inner radius of the brush */
- TUns32 m_ro; /** The outer radius of the brush */
-};
-
-
-inline void IMG_BrushRGBA32::getRadii(TUns32& rI, TUns32& rO) const
-{
- rI = m_ri;
- rO = m_ro;
-}
-
-inline float IMG_BrushRGBA32::getTransparency() const
-{
- return m_alpha;
-}
-
-inline void IMG_BrushRGBA32::getColor(IMG_ColorRGB& c) const
-{
- c = m_color;
-}
-
-
-#endif // _H_IMG_BrushRGBA32
-
diff --git a/source/blender/img/intern/IMG_CanvasRGBA32.cpp b/source/blender/img/intern/IMG_CanvasRGBA32.cpp
deleted file mode 100644
index 6070160d489..00000000000
--- a/source/blender/img/intern/IMG_CanvasRGBA32.cpp
+++ /dev/null
@@ -1,337 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#include "IMG_CanvasRGBA32.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-IMG_CanvasRGBA32::IMG_CanvasRGBA32(TUns32 width, TUns32 height)
- : IMG_PixmapRGBA32(width, height)
-{
-}
-
-IMG_CanvasRGBA32::IMG_CanvasRGBA32(void* image, TUns32 width, TUns32 height, TUns32 rowBytes)
- : IMG_PixmapRGBA32(image, width, height, rowBytes)
-{
-}
-
-
-void IMG_CanvasRGBA32::blendPixmap(
- TUns32 xStart, TUns32 yStart, TUns32 xEnd, TUns32 yEnd,
- const IMG_PixmapRGBA32& pixmap, bool torus)
-{
- // Determine visibility of the line
- IMG_Line l (xStart, yStart, xEnd, yEnd); // Line used for blending
- IMG_Rect bnds (0, 0, m_width, m_height); // Bounds of this pixmap
- TVisibility v = bnds.getVisibility(l);
- if (!torus) {
- if (v == kNotVisible)
- return;
- if (v == kPartiallyVisible)
- bnds.clip(l);
- }
-
- float numSteps = (((float)l.getLength()) / ((float)pixmap.getWidth() / 4));
- //numSteps *= 4;
- numSteps = numSteps ? numSteps : 1;
- float step = 0.f, stepSize = 1.f / ((float)numSteps);
- TInt32 x, y;
- for (TUns32 s = 0; s < numSteps; s++) {
- l.getPoint(step, x, y);
- if (torus)
- IMG_PixmapRGBA32::blendPixmapTorus((TUns32)x, (TUns32)y, pixmap);
- else
- IMG_PixmapRGBA32::blendPixmap((TUns32)x, (TUns32)y, pixmap);
- step += stepSize;
- }
-}
-
-
-void IMG_CanvasRGBA32::blendPixmap(
- float uStart, float vStart, float uEnd, float vEnd,
- const IMG_PixmapRGBA32& pixmap, bool torus)
-{
- TUns32 xStart, yStart, xEnd, yEnd;
- getPixelAddress(uStart, vStart, xStart, yStart);
- getPixelAddress(uEnd, vEnd, xEnd, yEnd);
- blendPixmap(xStart, yStart, xEnd, yEnd, pixmap, torus);
-}
-
-
-void IMG_CanvasRGBA32::SoftenAt(float u, float v, TUns32 size, float alpha, float aspect, bool torus)
-{
- IMG_BrushRGBA32* brush = 0;
- int flag=0;
- try {
- IMG_ColorRGB c (1.0, 1.0, 1.0);
- brush = new IMG_BrushRGBA32 (size, size, c, alpha);
- }
- catch (...) {
- /* no brush , no fun ! */
- return;
- }
-
- TUns32 ro,ri;
- ro = size/2;
- ri = (int)(aspect/2.0f * size);
- if (ri > 2 ) ri =2;
- if (ri > ro ) ri =ro;
- brush->setRadii(ri,ro);
-
-
- TUns32 x, y;
- TUns32 xx, yy;
- getPixelAddress(u, v, x, y);
- xx = x - size/2;
- yy = y - size/2;
- if(torus) flag = 1;
-
- /* now modify brush */
- for (int i= 0 ; i<(int)size;i++){
- for (int j= 0 ; j<(int)size;j++){
-
- float sR,sG,sB,sA;
- float cR,cG,cB=0.0;
-
- if (torus)
- IMG_PixmapRGBA32::getRGBAatTorus(xx+i,yy+j ,&cR,&cG,&cB,0);
- else
- IMG_PixmapRGBA32::getRGBAat(xx+i,yy+j ,&cR,&cG,&cB,0);
-
- int ccount = 1;
- /*
- cR += 7.0*cR;
- cG += 7.0*cG;
- cB += 7.0*cB;
- ccount += 7.0;
- */
-
-add_if_in(xx+i+1,yy+j+1,cR,cG,cB,ccount,flag);
-add_if_in(xx+i+1,yy+j ,cR,cG,cB,ccount,flag);
-add_if_in(xx+i+1,yy+j-1,cR,cG,cB,ccount,flag);
-
-add_if_in(xx+i,yy+j+1,cR,cG,cB,ccount,flag);
-add_if_in(xx+i,yy+j-1,cR,cG,cB,ccount,flag);
-
-add_if_in(xx+i-1,yy+j+1,cR,cG,cB,ccount,flag);
-add_if_in(xx+i-1,yy+j ,cR,cG,cB,ccount,flag);
-add_if_in(xx+i-1,yy+j-1,cR,cG,cB,ccount,flag);
-
-
- sR =cR*255.0f/ccount;
- sG =cG*255.0f/ccount;
- sB =cB*255.0f/ccount;
-
- sA =255.0;
- brush->setRGBAat(i,j,&sR,&sG,&sB,NULL);
- }
- }
-
- /* apply */
- if (torus)
- IMG_PixmapRGBA32::blendPixmapTorus(x, y, *brush);
- else
- IMG_PixmapRGBA32::blendPixmap(x, y, *brush);
-
- /* done clean up */
- if (brush) {
- delete ((IMG_BrushRGBA32*)brush);
- brush = 0;
- }
-}
-
-
-IMG_BrushRGBA32* IMG_CanvasRGBA32::LiftBrush(TUns32 x, TUns32 y, TUns32 size, float alpha, float aspect, short flags )
-{
- IMG_BrushRGBA32* brush = 0;
- float mR,mG,mB=0.0;
- try {
- IMG_ColorRGB c (1.0, 1.0, 1.0);
- brush = new IMG_BrushRGBA32 (size, size, c, alpha);
- }
- catch (...) {
- /* no brush , no fun ! */
- return(NULL);
- }
-
- TUns32 ro,ri;
- ro = size/2;
- ri = (int)(aspect/2.0f * size);
- if (ri > 2 ) ri =2;
- if (ri > ro ) ri =ro;
- brush->setRadii(ri,ro);
-
-
- TUns32 xx, yy;
- xx = x - size/2;
- yy = y - size/2;
- IMG_PixmapRGBA32::getRGBAat(xx,yy,&mR,&mG,&mB,0);
- for (int i= 0 ; i<(int)size;i++){
- for (int j= 0 ; j<(int)size;j++){
- float cR,cG,cB,cA=0.0;
- cR = mR; cG = mG; cB = mB;
- int res =IMG_PixmapRGBA32::getRGBAat(xx+i,yy+j ,&cR,&cG,&cB,0);
- cR *= 255.0f;
- cG *= 255.0f;
- cB *= 255.0f;
- cA *= 0.0;
- if (res)
- brush->setRGBAat(i,j,&cR,&cG,&cB,NULL);
- else
- brush->setRGBAat(i,j,&cR,&cG,&cB,&cA);
-
- }
- }
- return(brush);
-}
-
-IMG_BrushRGBA32* IMG_CanvasRGBA32::LiftBrush(float u, float v, TUns32 size, float alpha, float aspect, short flags )
-{
- IMG_BrushRGBA32* brush = 0;
- float mR,mG,mB=0.0;
- try {
- IMG_ColorRGB c (1.0, 1.0, 1.0);
- brush = new IMG_BrushRGBA32 (size, size, c, alpha);
- }
- catch (...) {
- /* no brush , no fun ! */
- return(NULL);
- }
-
- TUns32 ro,ri;
- ro = size/2;
- ri = (int)(aspect/2.0f * size);
- if (ri > 2 ) ri =2;
- if (ri > ro ) ri =ro;
- brush->setRadii(ri,ro);
-
-
- TUns32 x, y;
- TUns32 xx, yy;
- getPixelAddress(u, v, x, y);
- xx = x - size/2;
- yy = y - size/2;
- IMG_PixmapRGBA32::getRGBAat(xx,yy,&mR,&mG,&mB,0);
- for (int i= 0 ; i<(int)size;i++){
- for (int j= 0 ; j<(int)size;j++){
- float cR,cG,cB=0.0;
- if (flags & 0x1)
- IMG_PixmapRGBA32::getRGBAatTorus(xx+i,yy+j ,&cR,&cG,&cB,0);
- else {
- cR = mR; cG = mG; cB = mB;
- IMG_PixmapRGBA32::getRGBAat(xx+i,yy+j ,&cR,&cG,&cB,0);
- }
- cR *= 255.0f;
- cG *= 255.0f;
- cB *= 255.0f;
- brush->setRGBAat(i,j,&cR,&cG,&cB,NULL);
- }
- }
- return(brush);
-}
-
-void IMG_CanvasRGBA32::Smear(float uStart, float vStart, float uEnd, float vEnd, TUns32 size, float alpha, float aspect, bool torus)
-{
- IMG_BrushRGBA32* brush = NULL;
- float du,dv;
- du = uEnd - uStart;
- dv = vEnd - vStart;
-
- try {
- brush = LiftBrush(uStart-du, vStart-dv, size, alpha, aspect, 1);
- }
- catch (...) {
- /* no brush , no fun ! */
- return;
- }
-
- if (brush) {
- blendPixmap(uStart, vStart, uEnd, vEnd, *brush, torus);
- delete(brush);
- }
-}
-
-void IMG_CanvasRGBA32::CloneAt(IMG_CanvasRGBA32* other,float u,float v,float cu,float cv,TUns32 size,float alpha,float aspect)
-{
- TUns32 x, y;
- TUns32 cx, cy;
- TUns32 xx, yy;
- getPixelAddress(u, v, x, y);
- getPixelAddress(cu, cv, cx, cy);
-
- xx = (x-cx);// - size/2;
- yy = (y-cy);// - size/2;
-
- if (other == NULL) return;
- IMG_BrushRGBA32* brush = NULL;
- try {
- brush = other->LiftBrush(xx,yy,size,alpha,aspect,1);
- }
- catch (...) {
- /* no brush , no fun ! */
- return;
- }
- if (brush){
- IMG_PixmapRGBA32::blendPixmap(x, y, *brush);
- delete(brush);
- }
-
-}
-
-
-
-int IMG_CanvasRGBA32::add_if_in(int x, int y,float &R,float &G,float &B, int &count, short flags)
-
-{
- float r,g,b= 0.0f;
- if ((flags & 0x1) == 0)
- {
- if (IMG_PixmapRGBA32::getRGBAat(x,y,&r,&g,&b,0))
- {
- R += r;
- G += g;
- B += b;
- count++;
- }
-}
- else {
-
- IMG_PixmapRGBA32::getRGBAatTorus(x,y,&r,&g,&b,0);
- R += r;
- G += g;
- B += b;
- count++;
- }
-
- return 1;
-}
diff --git a/source/blender/img/intern/IMG_CanvasRGBA32.h b/source/blender/img/intern/IMG_CanvasRGBA32.h
deleted file mode 100644
index 4c60e3522cc..00000000000
--- a/source/blender/img/intern/IMG_CanvasRGBA32.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifndef _H_IMG_CanvasRGBA32
-#define _H_IMG_CanvasRGBA32
-
-#include "IMG_PixmapRGBA32.h"
-#include "IMG_BrushRGBA32.h"
-
-/**
- * A IMG_PixmapRGBA32 pixmap that allows for drawing with a IMG_BrushRGBA32.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_CanvasRGBA32 : public IMG_PixmapRGBA32 {
-public:
- int add_if_in(int x, int y, float &R, float &G, float &B, int &count, short flags);
- void Smear(float uStart, float vStart, float uEnd, float vEnd ,TUns32 size, float alpha, float aspect, bool torus=false);
- IMG_BrushRGBA32* LiftBrush(float u, float v, TUns32 size, float alpha, float aspect, short flags );
- IMG_BrushRGBA32* LiftBrush(TUns32 x, TUns32 y, TUns32 size, float alpha, float aspect, short flags);
- void SoftenAt(float u, float v, TUns32 size, float alpha, float aspect, bool torus=false);
- void CloneAt(IMG_CanvasRGBA32* other, float u, float v, float cu, float cv, TUns32 size, float alpha, float aspect);
- /**
- * Constructor.
- * @throw <IMG_MemPtr::Size> when an invalid width and/or height is passed.
- * @throw <IMG_MemPtr::Memory> when a there is not enough memory to allocate the image.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_CanvasRGBA32(TUns32 width, TUns32 height);
-
- /**
- * Constructor.
- * The image data will not be freed upon destruction of this object.
- * The owner of this object is reponsible for that.
- * @throw <Size> when an invalid width and/or height is passed.
- * @param image pointer to the image data.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_CanvasRGBA32(void* image, TUns32 width, TUns32 height, TUns32 rowBytes);
-
- /**
- * Blends a pixmap into this pixmap over a line.
- * Repeatedly pastes the given pixmap centered at the given line into this pixmap.
- * The alpha information in the given image is used to blend.
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @todo update the drawing algorithm.
- * @param x x-coordinate of the center location of the image.
- * @param y y-coordinate of the center location of the image.
- * @param pixmap the pixmap to blend
- */
- virtual void blendPixmap(TUns32 xStart, TUns32 yStart, TUns32 xEnd, TUns32 yEnd, const IMG_PixmapRGBA32& pixmap, bool torus=false);
-
- /**
- * Blends a pixmap into this pixmap over a line in (u,v) coordinates.
- * Pastes the given pixmap centered at the given line into this pixmap.
- * The alpha information in the given image is used to blend.
- * @see IMG_PixmapRGBA32::blendPixmap(TUns32 xStart, TUns32 yStart, TUns32 yStart, TUns32 yEnd, const IMG_PixmapRGBA32& pixmap)
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param u u-coordinate of the center location of the image.
- * @param v v-coordinate of the center location of the image.
- * @param pixmap the pixmap to blend
- */
- virtual void blendPixmap(float uStart, float vStart, float uEnd, float vEnd, const IMG_PixmapRGBA32& pixmap, bool torus=false);
-};
-
-
-#endif // _H_IMG_CanvasRGBA32
-
diff --git a/source/blender/img/intern/IMG_Color.h b/source/blender/img/intern/IMG_Color.h
deleted file mode 100644
index 8343f55e4f0..00000000000
--- a/source/blender/img/intern/IMG_Color.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-
-#ifndef _H_IMG_Color
-#define _H_IMG_Color
-
-class IMG_ColorRGBA;
-
-/**
- * Implements a color with red, green and blue components.
- * Components are stored as floats.
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-
-class IMG_ColorRGB {
-public:
- /**
- * Constructs a color with the given values.
- * @param r requested red component of the color
- * @param g requested green component of the color
- * @param b requested blue component of the color
- */
- IMG_ColorRGB(float r=0, float g=0, float b=0)
- : m_r(r), m_g(g), m_b(b) {}
-
- /**
- * Copy constructor.
- * @param c the color to copy.
- */
- IMG_ColorRGB(const IMG_ColorRGB& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b) {}
-
- /**
- * Constructs a color without alpha from one with.
- * @param c the color to copy.
- */
- inline IMG_ColorRGB(const IMG_ColorRGBA& c);
-
- /** Red component of the color */
- float m_r;
- /** Green component of the color */
- float m_g;
- /** Blue component of the color */
- float m_b;
-};
-
-
-/**
- * Implements a color with red, green, blue and alpha components.
- * Components are stored as floats.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_ColorRGBA {
-public:
- /**
- * Constructs a color with the given values.
- * @param r requested red component of the color
- * @param g requested green component of the color
- * @param b requested blue component of the color
- * @param a requested alpha component of the color
- */
- IMG_ColorRGBA(float r=0, float g=0, float b=0, float a=0)
- : m_r(r), m_g(g), m_b(b), m_a(a) {}
-
- /**
- * Copy constructor.
- * @param c the color to copy.
- */
- IMG_ColorRGBA(const IMG_ColorRGBA& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b), m_a(c.m_a) {}
-
- /**
- * Constructs a color with alpha from one without.
- * @param c the color to copy.
- */
- IMG_ColorRGBA(const IMG_ColorRGB& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b), m_a(0) {}
-
- /**
- * Blends the given color with this color.
- * Uses the alpha of the given color for blending.
- * The alpha of this color is left untouched.
- * @param c the color to blend
- */
- inline void blendColor(const IMG_ColorRGBA& c);
-
- /** Red component of the color */
- float m_r;
- /** Green component of the color */
- float m_g;
- /** Blue component of the color */
- float m_b;
- /** Alpha component of the color */
- float m_a;
-};
-
-inline IMG_ColorRGB::IMG_ColorRGB(const IMG_ColorRGBA& c)
- : m_r(c.m_r), m_g(c.m_g), m_b(c.m_b) {}
-
-inline void IMG_ColorRGBA::blendColor(const IMG_ColorRGBA& c)
-{
- float r1 = 1 - c.m_a; // The reverse of alpha
-#if IMG_REVERSED_ALPHA
- m_r = c.m_a * m_r + r1 * c.m_r;
- m_g = c.m_a * m_g + r1 * c.m_g;
- m_b = c.m_a * m_b + r1 * c.m_b;
-#else
- m_r = r1 * m_r + c.m_a * c.m_r;
- m_g = r1 * m_g + c.m_a * c.m_g;
- m_b = r1 * m_b + c.m_a * c.m_b;
-#endif
-}
-
-
-#endif // _H_IMG_Color
-
diff --git a/source/blender/img/intern/IMG_Line.cpp b/source/blender/img/intern/IMG_Line.cpp
deleted file mode 100644
index 4fb4fb83ca4..00000000000
--- a/source/blender/img/intern/IMG_Line.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-#include "IMG_Line.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
diff --git a/source/blender/img/intern/IMG_Line.h b/source/blender/img/intern/IMG_Line.h
deleted file mode 100644
index 0eb4a261d5f..00000000000
--- a/source/blender/img/intern/IMG_Line.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 12, 2001
- */
-
-#ifndef _H_IMG_Line
-#define _H_IMG_Line
-
-#include "IMG_Types.h"
-#include <math.h>
-
-/**
- * A line from a start to an end point.
- * Used for drawing lines in images.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_Line {
-public:
-
- /**
- * Constructs a line with the given values.
- * @param xs start point x-coordinate
- * @param ys start point y-coordinate
- * @param xe end point x-coordinate
- * @param ye end point y-coordinate
- */
- IMG_Line(TInt32 xs=0, TInt32 ys=0, TInt32 xe=0, TInt32 ye=0)
- : m_xs(xs), m_ys(ys), m_xe(xe), m_ye(ye) {}
-
- /**
- * Copy constructor.
- * @param l line to copy
- */
- IMG_Line(const IMG_Line& l)
- : m_xs(l.m_xs), m_ys(l.m_ys), m_xe(l.m_xe), m_ye(l.m_ye) {}
-
- /**
- * Destructor.
- */
- virtual ~IMG_Line() {};
-
- /**
- * Access to line length.
- * @return length of the line.
- */
- virtual inline float getLength() const;
-
- /**
- * Sets all members of the line.
- * @param xs start point x-coordinate
- * @param ys start point y-coordinate
- * @param xe end point x-coordinate
- * @param ye end point y-coordinate
- */
- virtual inline void set(TInt32 xs, TInt32 ys, TInt32 xe, TInt32 ye);
-
- /**
- * Returns whether this line is empty.
- * Empty line are lines that have length==0.
- * @return boolean value (true==empty line)
- */
- virtual inline bool isEmpty() const;
-
- /**
- * Returns point at given value for line parameter.
- * Calculates the coordinates of a point on the line.
- * @param t line parameter value (0<=t<=1) of the point requested.
- * @param x x-coordinate of the point.
- * @param y y-coordinate of the point.
- */
- virtual inline void getPoint(float t, TInt32& x, TInt32& y) const;
-
- /** Start point x-coordinate */
- TInt32 m_xs;
- /** Start point y-coordinate */
- TInt32 m_ys;
- /** End point x-coordinate */
- TInt32 m_xe;
- /** End point y-coordinate */
- TInt32 m_ye;
-};
-
-
-inline float IMG_Line::getLength() const
-{
- TInt32 dx = m_xe - m_xs;
- TInt32 dy = m_ye - m_ys;
- return ((float)::sqrt(((float)dx)*dx + ((float)dy)*dy));
-}
-
-
-inline void IMG_Line::set(TInt32 xs, TInt32 ys, TInt32 xe, TInt32 ye)
-{
- m_xs = xs; m_ys = ys; m_xe = xe; m_ye = ye;
-}
-
-
-inline bool IMG_Line::isEmpty() const
-{
- return (getLength() <= 0);
-}
-
-
-inline void IMG_Line::getPoint(float t, TInt32& x, TInt32& y) const
-{
- x = (TInt32) (((float)m_xs) + (t * (m_xe - m_xs)));
- y = (TInt32) (((float)m_ys) + (t * (m_ye - m_ys)));
-}
-
-#endif // _H_IMG_Line
-
diff --git a/source/blender/img/intern/IMG_MemPtr.h b/source/blender/img/intern/IMG_MemPtr.h
deleted file mode 100644
index 772e7aa9886..00000000000
--- a/source/blender/img/intern/IMG_MemPtr.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 8, 2001
- */
-
-#ifndef _H_IMG_MemPtr
-#define _H_IMG_MemPtr
-
-#include <stddef.h>
-
-/**
- * A memory pointer for memory of any type.
- * It can be used to avoid memory leaks when allocating memory in constructors.
- * @author Maarten Gribnau
- * @date March 8, 2001
- */
-
-template <class T> class IMG_MemPtr {
-public:
- /** Pointer to the memory */
- T* m_p;
- bool m_owned;
-
- /**
- * Size exception.
- * A size exception is thrown when an invalid width and/or height is passed.
- */
- class Size {};
- /**
- * Memory exception.
- * A size exception is thrown when a there is not enough memory to allocate the image.
- */
- class Memory {};
-
- /**
- * Constructs a memory pointer.
- * @param s requested size of the pointer
- * @throw <Size> when an invalid width and/or height is passed.
- * @throw <Memory> when a there is not enough memory to allocate the image.
- */
- IMG_MemPtr(size_t s)
- : m_p(0), m_owned(false)
- {
- if (s > 0) {
- m_p = new T[s];
- if (!m_p) {
- throw Memory();
- }
- m_owned = true;
- }
- else {
- throw Size();
- }
- }
-
- /**
- * Constructs a memory pointer from a pointer.
- * @param p the pointer
- * @param s requested size of the pointer
- * @throw <Size> when an invalid width and/or height is passed.
- */
- IMG_MemPtr(void* p, size_t s)
- : m_p(0), m_owned(false)
- {
- if (p && (s > 0)) {
- m_p = (T*)p;
- }
- else {
- throw Size();
- }
- }
-
- /**
- * Destructor.
- */
- ~IMG_MemPtr() { if (m_p && m_owned) { delete [] m_p; m_p = 0; } }
-
- /**
- * Access to the memory.
- * @return pointer to the memory
- */
- operator T*() { return m_p; }
-};
-
-#endif // _H_IMG_MemPtr
-
diff --git a/source/blender/img/intern/IMG_Pixmap.cpp b/source/blender/img/intern/IMG_Pixmap.cpp
deleted file mode 100644
index dba2fddb4dd..00000000000
--- a/source/blender/img/intern/IMG_Pixmap.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#include "IMG_Pixmap.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-IMG_Pixmap::IMG_Pixmap()
-{
- m_image = 0;
- m_width = 0;
- m_height = 0;
- m_rowBytes = 0;
- m_pixelSize = 0;
- m_pixelType = kPixelTypeRGB32;
-/*
-#if OS_MACINTOSH
- bitOrder = kQ3EndianBig;
- byteOrder = kQ3EndianBig;
-#else
- bitOrder = kQ3EndianLittle;
- byteOrder = kQ3EndianLittle;
-#endif
-*/
-}
-
-
-IMG_Pixmap::~IMG_Pixmap()
-{
-}
diff --git a/source/blender/img/intern/IMG_Pixmap.h b/source/blender/img/intern/IMG_Pixmap.h
deleted file mode 100644
index bde5b76e9b3..00000000000
--- a/source/blender/img/intern/IMG_Pixmap.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifndef _H_IMG_Pixmap
-#define _H_IMG_Pixmap
-
-#include "IMG_Types.h"
-#include "IMG_Color.h"
-#include "IMG_Rect.h"
-
-
-/**
- * Base class for pixmaps. Here a more elaborate description of the IMG_Pixmap class should be written.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_Pixmap {
-public:
- /**
- * The type of pixels.
- * The type of pixels that are stored in this pixmap.
- */
- typedef enum {
- kPixelTypeRGB32 = 0, /**< R:8, G:8, B:8, Ignore:8 */
- kPixelTypeRGBA32 = 1, /**< R:8, G:8, B:8, Alpha:8 */
-// kPixelTypeRGB16 = 2, /**< Ignore:1, R:5, G:5, B:5 */
-// kPixelTypeRGBA16 = 3, /**< Alpha:1, R:5, G:5, B:5 */
-// kPixelTypeRGB16_565 = 4, /**< R:5, G:6, B:5 */
- kPixelTypeRGB24 = 5 /**< R:8, G:8, B:8 */
- } PixelType;
-
- /**
- * Default constructor.
- */
- IMG_Pixmap();
-
- /**
- * Destructor.
- */
- virtual ~IMG_Pixmap();
-
- /**
- * Access to image data
- * @return pointer to the image data
- */
- inline void* getImage() const;
-
- /**
- * Access to image width.
- * @return width of the image
- */
- inline TUns32 getWidth() const;
-
- /**
- * Access to image height.
- * @return height of the image
- */
- inline TUns32 getHeight() const;
-
- /**
- * Returns the bounds of the pixmap in a rectangle.
- * @param bounds of the image
- */
- inline void getBounds(IMG_Rect& r) const;
-
- /**
- * Access to pixel type.
- * @return the pixel type
- */
- inline PixelType getPixelType() const;
-
- /**
- * Clamps u, v coordinates between 0 and 1.
- * @param u requested u-coordinate
- * @param v requested v-coordinate
- */
- inline void clampUV(float& u, float& v) const;
-
- /**
- * Converts (u,v) coordinates to pixel addresses.
- * Assumes that (u,v) coordinates are in the [0,1] range.
- * @param u requested u-coordinate in the image
- * @param v requested v-coordinate in the image
- * @param x calculated x-coordinate in the image
- * @param y calculated y-coordinate in the image
- */
- inline void getPixelAddress(float u, float v, TUns32& x, TUns32& y) const;
-
- /**
- * Fills the rectangle given with the color given.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- virtual void fillRect(const IMG_Rect& r, const IMG_ColorRGBA& c) = 0;
-
-protected:
- /** Pointer to the image data */
- void* m_image;
- /** Width of the image in pixels */
- TUns32 m_width;
- /** Height of the image in pixels */
- TUns32 m_height;
- /** Number of bytes for one row in the image. */
- TUns32 m_rowBytes;
- /** Size in bits for one pixel */
- TUns32 m_pixelSize;
- /** Type of pixels in this image. */
- PixelType m_pixelType;
-// TQ3Endian m_bitOrder;
-// TQ3Endian m_byteOrder;
-};
-
-inline void* IMG_Pixmap::getImage() const
-{
- return m_image;
-}
-
-inline TUns32 IMG_Pixmap::getWidth() const
-{
- return m_width;
-}
-
-inline TUns32 IMG_Pixmap::getHeight() const
-{
- return m_height;
-}
-
-inline void IMG_Pixmap::getBounds(IMG_Rect& r) const
-{
- r.set(0, 0, m_width, m_height);
-}
-
-inline IMG_Pixmap::PixelType IMG_Pixmap::getPixelType() const
-{
- return m_pixelType;
-}
-
-inline void IMG_Pixmap::clampUV(float& u, float& v) const
-{
- if (u < 0.f) u = 0.f;
- if (u > 1.f) u = 1.f;
- if (v < 0.f) v = 0.f;
- if (v > 1.f) v = 1.f;
-}
-
-inline void IMG_Pixmap::getPixelAddress(float u, float v, TUns32& x, TUns32& y) const
-{
- //MAART TEMP! clampUV(u, v);
- x = (TUns32)(((float)m_width) * u);
- y = (TUns32)(((float)m_height) * v);
-}
-
-#endif // _H_IMG_Pixmap
-
diff --git a/source/blender/img/intern/IMG_PixmapRGBA32.cpp b/source/blender/img/intern/IMG_PixmapRGBA32.cpp
deleted file mode 100644
index 49b9348a4be..00000000000
--- a/source/blender/img/intern/IMG_PixmapRGBA32.cpp
+++ /dev/null
@@ -1,332 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#include "IMG_PixmapRGBA32.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-IMG_PixmapRGBA32::IMG_PixmapRGBA32(TUns32 width, TUns32 height)
- : IMG_Pixmap(), m_mem(width * height)
-{
- m_image = m_mem;
- m_width = width;
- m_height = height;
- m_rowBytes = width * sizeof(TPixelRGBA32);
- m_pixelSize = 8 * sizeof(TPixelRGBA32);
- m_pixelType = kPixelTypeRGBA32;
-}
-
-
-IMG_PixmapRGBA32::IMG_PixmapRGBA32(void* image, TUns32 width, TUns32 height, TUns32 rowBytes)
- : IMG_Pixmap(), m_mem(image, width * rowBytes)
-{
- m_image = m_mem;
- m_width = width;
- m_height = height;
- m_rowBytes = rowBytes;
- m_pixelSize = 8 * sizeof(TPixelRGBA32);
- m_pixelType = kPixelTypeRGBA32;
-}
-
-
-void IMG_PixmapRGBA32::fillRect(const IMG_Rect& r, const IMG_ColorRGB& c)
-{
- IMG_Rect t_bnds (0, 0, m_width, m_height); // Bounds of this pixmap
- IMG_Rect r_bnds (r); // Area to set
-
- // Determine visibility
- TVisibility v = t_bnds.getVisibility(r_bnds);
- if (v == kNotVisible) return;
- if (v == kPartiallyVisible) {
- // Clip the destination rectangle to the bounds of this pixmap
- t_bnds.clip(r_bnds);
- if (r_bnds.isEmpty()) {
- return;
- }
- }
-
-#if 0
- // Set new pixels using shifting
- // Prepare the pixel value to set
- IMG_ColorRGBA ca (c);
- TPixelRGBA32 pv = getPixelValue(c);
- // Mask off the alpha bits
- pv &= 0x00FFFFFF; //0xFFFFFF00;
-
- // Set the pixels in the destination rectangle
- for (TInt32 y = r.m_t; y < r.m_b; y++) {
- // Park pixel pointer at the start pixels
- TPixelPtr desPtr = getPixelPtr(r_bnds.m_l, y);
- for (TInt32 x = r.m_l; x < r.m_r; x++) {
- // Set the new pixel value (retain current alpha)
- *(desPtr++) = pv | ((*desPtr) & 0xFF000000); //0x000000FF);
- }
- }
-#else
- // Set new values using byte indexing
- //IMG_ColorRGBA ca (c);
- TPixelRGBA32 src = getPixelValue(c);
- TPixelPtr desPtr;
- TUns8* srcBytes = (TUns8*) &src;
-
- // Set the pixels in the destination rectangle
- for (TInt32 y = r.m_t; y < r.m_b; y++) {
- // Park pixel pointer at the start pixels
- desPtr = getPixelPtr(r_bnds.m_l, y);
- for (TInt32 x = r.m_l; x < r.m_r; x++) {
- // Set the new pixel value (retain current alpha)
- ((TUns8*)desPtr)[bi_r] = srcBytes[bi_r];
- ((TUns8*)desPtr)[bi_g] = srcBytes[bi_g];
- ((TUns8*)desPtr)[bi_b] = srcBytes[bi_b];
- desPtr++;
- }
- }
-#endif
-}
-
-
-void IMG_PixmapRGBA32::fillRect(const IMG_Rect& r, const IMG_ColorRGBA& c)
-{
- IMG_Rect t_bnds (0, 0, m_width, m_height); // Bounds of this pixmap
- IMG_Rect r_bnds (r); // Area to set
-
- // Determine visibility
- TVisibility v = t_bnds.getVisibility(r_bnds);
- if (v == kNotVisible) return;
- if (v == kPartiallyVisible) {
- // Clip the destination rectangle to the bounds of this pixmap
- t_bnds.clip(r_bnds);
- if (r_bnds.isEmpty()) {
- return;
- }
- }
-
- // Set the pixels in the destination rectangle
- TPixelRGBA32 pixel = getPixelValue(c);
- for (TInt32 y = r.m_t; y < r.m_b; y++) {
- // Park pixel pointer at the start pixels
- TPixelPtr desPtr = getPixelPtr(r_bnds.m_l, y);
- for (TInt32 x = r.m_l; x < r.m_r; x++) {
- *(desPtr++) = pixel;
- }
- }
-}
-
-
-void IMG_PixmapRGBA32::setPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap, const IMG_Rect& bnds)
-{
- IMG_Rect i_bnds (bnds); // Bounds of input pixmap
- IMG_Rect t_bnds (0, 0, m_width, m_height); // Bounds of this pixmap
- IMG_Rect p_bnds (bnds); // Bounds of the paste area
- p_bnds.setCenter(x, y);
-
- // The next check could be removed if the caller is made responsible for handing us non-empty rectangles
- if (i_bnds.isEmpty()) {
- // Nothing to do
- return;
- }
-
- // Determine visibility of the paste area
- TVisibility v = t_bnds.getVisibility(p_bnds);
- if (v == kNotVisible) return;
- if (v == kPartiallyVisible) {
- // Clipping is needed
- if (p_bnds.m_l < 0) {
- i_bnds.m_l += p_bnds.m_l;
- p_bnds.m_l = 0;
- }
- if (p_bnds.m_t < 0) {
- i_bnds.m_t += p_bnds.m_t;
- p_bnds.m_t = 0;
- }
- TInt32 d = p_bnds.getWidth();
- if (p_bnds.m_r > d) {
- i_bnds.m_t -= d - p_bnds.m_r;
- p_bnds.m_t = d;
- }
- d = p_bnds.getHeight();
- if (p_bnds.m_b > d) {
- i_bnds.m_b -= d - p_bnds.m_b;
- p_bnds.m_b = d;
- }
- }
-
- // Iterate through the rows
- for (TInt32 r = 0; r < p_bnds.getHeight(); r++) {
- // Park pixel pointers at the start pixels
- TPixelPtr srcPtr = getPixelPtr(i_bnds.m_l, i_bnds.m_t + r);
- TPixelPtr desPtr = getPixelPtr(p_bnds.m_l, p_bnds.m_t + r);
- // Iterate through the columns
- for (int c = 0; c < p_bnds.getWidth(); c++) {
- *(desPtr++) = *(srcPtr++);
- }
- }
-}
-
-
-void IMG_PixmapRGBA32::blendPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap, const IMG_Rect& bnds)
-{
- IMG_Rect i_bnds (bnds); // Bounds of input pixmap
- IMG_Rect t_bnds (0, 0, m_width, m_height); // Bounds of this pixmap
- IMG_Rect p_bnds (bnds); // Bounds of the paste area
- p_bnds.setCenter(x, y);
-
- // The next check could be removed if the caller is made responsible for handing us non-empty rectangles
- if (i_bnds.isEmpty()) {
- // Nothing to do
- return;
- }
-
- // Determine visibility of the paste area
- TVisibility v = t_bnds.getVisibility(p_bnds);
- if (v == kNotVisible) return;
- if (v == kPartiallyVisible) {
- // Clipping is needed
- if (p_bnds.m_l < 0) {
- i_bnds.m_l += -p_bnds.m_l;
- p_bnds.m_l = 0;
- }
- if (p_bnds.m_t < 0) {
- i_bnds.m_t += -p_bnds.m_t;
- p_bnds.m_t = 0;
- }
- TInt32 d = t_bnds.getWidth();
- if (p_bnds.m_r > d) {
- i_bnds.m_r -= p_bnds.m_r - d;
- p_bnds.m_r = d;
- }
- d = t_bnds.getHeight();
- if (p_bnds.m_b > d) {
- i_bnds.m_b -= p_bnds.m_b - d;
- p_bnds.m_b = d;
- }
- }
-
- IMG_ColorRGBA srcColor;
- IMG_ColorRGBA desColor;
-
- // Iterate through the rows
- for (int r = 0; r < p_bnds.getHeight(); r++) {
- // Park pixel pointers at the start pixels
- TPixelPtr srcPtr = pixmap.getPixelPtr(i_bnds.m_l, i_bnds.m_t + r);
- TPixelPtr desPtr = getPixelPtr(p_bnds.m_l, p_bnds.m_t + r);
- // Iterate through the columns
- for (int c = 0; c < p_bnds.getWidth(); c++) {
- // Retrieve colors from source and destination pixmaps
- getColor(*srcPtr, srcColor);
- getColor(*desPtr, desColor);
- // Blend the colors
- desColor.blendColor(srcColor);
- // Write color back to destination pixmap
- *desPtr = getPixelValue(desColor);
- srcPtr++;
- desPtr++;
- }
- }
-}
-
-
-void IMG_PixmapRGBA32::blendPixmap(float u, float v, const IMG_PixmapRGBA32& pixmap)
-{
- TUns32 x, y;
- getPixelAddress(u, v, x, y);
- blendPixmap(x, y, pixmap);
-}
-
-int IMG_PixmapRGBA32::getRGBAat(TUns32 x, TUns32 y, float *R, float *G, float *B, float *A) const
-{
- TPixelPtr srcPtr = 0;
- if ((x >= m_width) || (y >= m_height) ) return 0;
- srcPtr = getPixelPtr(x,y);
- if (srcPtr){
- IMG_ColorRGBA srcColor;
- getColor(*srcPtr, srcColor);
- if(R) *R = srcColor.m_r;
- if(G) *G = srcColor.m_g;
- if(B) *B = srcColor.m_b;
- if(A) *A = srcColor.m_a;
- return 1;
- }
- return 0;
-
-}
-
-int IMG_PixmapRGBA32::getRGBAatTorus(int x, int y, float *R, float *G, float *B, float *A)
-{
- x %= m_width;
- y %= m_height;
- return getRGBAat(x,y,R,G,B,A);
-}
-
-void IMG_PixmapRGBA32::setRGBAat(TUns32 x, TUns32 y, float *R, float *G, float *B, float *A)
-{
- TPixelPtr desPtr = 0;
- desPtr = getPixelPtr(x,y);
- if (desPtr){
- if(R) ((TUns8*)desPtr)[bi_r] = (TUns8)(*R);
- if(G) ((TUns8*)desPtr)[bi_g] = (TUns8)(*G);
- if(B) ((TUns8*)desPtr)[bi_b] = (TUns8)(*B);
- if(A) ((TUns8*)desPtr)[bi_a] = (TUns8)(*A);
-
-
- }
-
-}
-
-void IMG_PixmapRGBA32::blendPixmapTorus(TUns32 x, TUns32 y,const IMG_PixmapRGBA32 &pixmap)
-{
- float sR,sG,sB,sA, bR,bG,bB,bA;
- IMG_Rect bnds;
- pixmap.getBounds(bnds);
- int ym = bnds.getHeight();
- int xm = bnds.getWidth();
- for (int xa = 0; xa < xm; xa ++)
- for (int ya = 0; ya < ym; ya ++){
- int xt = (xa-xm/2 + x) % (m_width );
- int yt = (ya-xm/2 + y) % (m_height);
-
- getRGBAat(xt,yt,&sR,&sG,&sB,&sA);
-
- pixmap.getRGBAat(xa,ya,&bR,&bG,&bB,&bA);
-
- sR = sR*(1-bA) + bR*bA;
- sG = sG*(1-bA) + bG*bA;
- sB = sB*(1-bA) + bB*bA;
-
- sR *= 255.0f;
- sG *= 255.0f;
- sB *= 255.0f;
-
- setRGBAat(xt,yt,&sR,&sG,&sB,0);
- }
-}
diff --git a/source/blender/img/intern/IMG_PixmapRGBA32.h b/source/blender/img/intern/IMG_PixmapRGBA32.h
deleted file mode 100644
index 0c9352c260f..00000000000
--- a/source/blender/img/intern/IMG_PixmapRGBA32.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-#ifndef _H_IMG_PixmapRGBA32
-#define _H_IMG_PixmapRGBA32
-
-#include "IMG_Pixmap.h"
-#include "IMG_MemPtr.h"
-
-/**
- * Pixmap of kPixelTypeRGBA32 type.
- * A pixmap with 24 bits per pixel in ABGR format.
- * Provides methods to fill rectangular areas in this image with a color.
- * Provides methods to paste or blend other pixmaps into this pixmap.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_PixmapRGBA32 : public IMG_Pixmap {
-public:
- virtual void blendPixmapTorus(TUns32 x, TUns32 y,const IMG_PixmapRGBA32& pixmap);
- void setRGBAat(TUns32 x, TUns32 y, float* R, float* G, float* B,float* A);
- int getRGBAat(TUns32 x, TUns32 y, float* R, float* G, float* B,float* A) const;
- int getRGBAatTorus(int x, int y, float *R, float *G, float *B, float *A);
-
- /**
- * The pixel type in this pixmap.
- */
- typedef TUns32 TPixelRGBA32;
-
- /** The pixel pointer type of this pixmap. */
- typedef TPixelRGBA32* TPixelPtr;
-
- /** Indices of color component byes within a pixel. */
- typedef enum {
- bi_r = 0,
- bi_g = 1,
- bi_b = 2,
- bi_a = 3
- } TPixelIndex;
-
- /** "Save" memory pointer. */
- IMG_MemPtr<TPixelRGBA32> m_mem;
-
- /**
- * Constructor.
- * Creates a new pixmap of the kPixelTypeRGBA32 type with the requested dimensions.
- * @throw <IMG_MemPtr::Size> when an invalid width and/or height is passed.
- * @throw <IMG_MemPtr::Memory> when a there is not enough memory to allocate the image.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_PixmapRGBA32(TUns32 width, TUns32 height);
-
- /**
- * Constructor.
- * Creates a new pixmap of the kPixelTypeRGBA32 from a pointer to image data.
- * The image data will not be freed upon destruction of this object.
- * The owner of this object is reponsible for that.
- * @throw <Size> when an invalid width and/or height is passed.
- * @param image pointer to the image data.
- * @param width the width in pixels of the image.
- * @param height the height in pixels of the image.
- */
- IMG_PixmapRGBA32(void* image, TUns32 width, TUns32 height, TUns32 rowBytes);
-
-#if 0
- /**
- * Destructor.
- */
- virtual ~IMG_PixmapRGBA32();
-#endif
-
- /**
- * Fills the rectangle given with the color given.
- * Retains the alpha values.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- virtual void fillRect(const IMG_Rect& r, const IMG_ColorRGB& c);
-
- /**
- * Fills the rectangle given with the color given.
- * Sets the alpha values from the color.
- * Performs a bounds check.
- * @param r requested bounds rectangle in the image
- * @param c color to use
- */
- virtual void fillRect(const IMG_Rect& r, const IMG_ColorRGBA& c);
-
- /**
- * Pastes a pixmap into this pixmap.
- * Pastes the given pixmap centered at the given coordinates into this pixmap.
- * Ignores the alpha information, this is pasted too.
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param x x-coordinate of the center location of the image.
- * @param y y-coordinate of the center location of the image.
- * @param pixmap the pixmap to paste.
- */
- inline virtual void setPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap);
-
- /**
- * Pastes an area in a pixmap into this pixmap.
- * Pastes an area of the given pixmap centered at the given coordinates into this pixmap.
- * Ignores the alpha information, this is pasted too.
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param x x-coordinate of the center location of the image.
- * @param y y-coordinate of the center location of the image.
- * @param pixmap the pixmap to paste.
- * @param bnds the bounds of the area of the pixmap to paste.
- */
- virtual void setPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap, const IMG_Rect& bnds);
-
- /**
- * Blends a pixmap into this pixmap.
- * Blends the given pixmap centered at the given coordinates into this pixmap.
- * The alpha information in the given image is used to blend.
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param x x-coordinate of the center location of the image.
- * @param y y-coordinate of the center location of the image.
- * @param pixmap the pixmap to blend.
- */
- virtual void blendPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap);
-
- /**
- * Blends an area of a pixmap into this pixmap.
- * Blends an area of the given pixmap centered at the given coordinates into this pixmap.
- * The alpha information in the given image is used to blend.
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param x x-coordinate of the center location of the image.
- * @param y y-coordinate of the center location of the image.
- * @param pixmap the pixmap to blend.
- * @param bnds the bounds of the area of the pixmap to blend.
- */
- virtual void blendPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap, const IMG_Rect& bnds);
-
- /**
- * Blends a pixmap into this pixmap at (u,v) coordinates.
- * Pastes the given pixmap centered at the given coordinates into this pixmap.
- * The alpha information in the given image is used to blend.
- * @see IMG_PixmapRGBA32::blendPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap)
- * @todo implement wrapping modes when the pixmap does not fit within the bounds.
- * @param u u-coordinate of the center location of the image.
- * @param v v-coordinate of the center location of the image.
- * @param pixmap the pixmap to blend
- */
- virtual void blendPixmap(float u, float v, const IMG_PixmapRGBA32& pixmap);
-
-protected:
- /**
- * Returns pointer to the pixel.
- * Returns a pointer of TPixelPtr type to the pixel at the requested coordinates.
- * Does not perform a bounds check!
- * @param x column address of the pixel.
- * @param y row address of the pixel.
- * @return the pointer calculated.
- */
- inline TPixelPtr getPixelPtr(TUns32 x, TUns32 y) const;
-
- /**
- * Returns the pixel value of a color.
- * @param c the color to convert
- * @return the pixel value calculated
- */
- inline TPixelRGBA32 getPixelValue(const IMG_ColorRGBA& c) const;
-
- /**
- * Returns the color of from a pixel value.
- * @param p the pixel value
- * @param c the color calculated
- */
- inline void getColor(TPixelRGBA32 p, IMG_ColorRGBA& c) const;
-};
-
-inline void IMG_PixmapRGBA32::setPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap)
-{
- IMG_Rect bnds;
- pixmap.getBounds(bnds);
- setPixmap(x, y, pixmap, bnds);
-}
-
-inline void IMG_PixmapRGBA32::blendPixmap(TUns32 x, TUns32 y, const IMG_PixmapRGBA32& pixmap)
-{
- IMG_Rect bnds;
- pixmap.getBounds(bnds);
- blendPixmap(x, y, pixmap, bnds);
-}
-
-inline IMG_PixmapRGBA32::TPixelPtr IMG_PixmapRGBA32::getPixelPtr(TUns32 x, TUns32 y) const
-{
- return (TPixelPtr) (((TUns8*)m_image) + (y*m_rowBytes) + (x*4));
-}
-
-
-inline IMG_PixmapRGBA32::TPixelRGBA32 IMG_PixmapRGBA32::getPixelValue(const IMG_ColorRGBA& c) const
-{
-#if 0
- // Obtain pixel value through shifting
- TPixelRGBA32 p = ((TPixelRGBA32) (((float) 0xFF) * c.m_a)) << 24;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_b)) << 16;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_g)) << 8;
- p |= ((TPixelRGBA32) (((float) 0xFF) * c.m_r));
- return p;
-#else
- // Obtain pixel value through byte indexing
- TPixelRGBA32 pixel;
- TUns8* bytes = (TUns8*)&pixel;
- bytes[bi_r] = (TUns8)(((float) 0xFF) * c.m_r);
- bytes[bi_g] = (TUns8)(((float) 0xFF) * c.m_g);
- bytes[bi_b] = (TUns8)(((float) 0xFF) * c.m_b);
- bytes[bi_a] = (TUns8)(((float) 0xFF) * c.m_a);
- return pixel;
-#endif
-}
-
-inline void IMG_PixmapRGBA32::getColor(TPixelRGBA32 p, IMG_ColorRGBA& c) const
-{
-#if 0
- // Obtain color value through shifting
- c.m_a = ((float) ((p >> 24) & 0x00FF)) / ((float) 0xFF);
- c.m_b = ((float) ((p >> 16) & 0x00FF)) / ((float) 0xFF);
- c.m_g = ((float) ((p >> 8) & 0x00FF)) / ((float) 0xFF);
- c.m_r = ((float) ( p & 0x00FF)) / ((float) 0xFF);
-#else
- // Obtain color value through byte indexing
- TUns8* bytes = (TUns8*)&p;
- c.m_r = ((float)bytes[bi_r]) / ((float) 0xFF);
- c.m_g = ((float)bytes[bi_g]) / ((float) 0xFF);
- c.m_b = ((float)bytes[bi_b]) / ((float) 0xFF);
- c.m_a = ((float)bytes[bi_a]) / ((float) 0xFF);
-#endif
-}
-
-#endif // _H_IMG_PixmapRGBA32
-
diff --git a/source/blender/img/intern/IMG_Rect.cpp b/source/blender/img/intern/IMG_Rect.cpp
deleted file mode 100644
index c2e7bfc89c6..00000000000
--- a/source/blender/img/intern/IMG_Rect.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * $Id$
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#include "IMG_Rect.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-TVisibility IMG_Rect::getVisibility(IMG_Rect& r) const
-{
- bool lt = isInside(r.m_l, r.m_t);
- bool rt = isInside(r.m_r, r.m_t);
- bool lb = isInside(r.m_l, r.m_b);
- bool rb = isInside(r.m_r, r.m_b);
- TVisibility v;
- if (lt && rt && lb && rb) {
- // All points inside, rectangle is inside this
- v = kFullyVisible;
- }
- else if (!(lt || rt || lb || rb)) {
- // None of the points inside
- // Check to see whether the rectangle is larger than this one
- if ((r.m_l < m_l) && (r.m_t < m_t) && (r.m_r > m_r) && (r.m_b > m_b)) {
- v = kPartiallyVisible;
- }
- else {
- v = kNotVisible;
- }
- }
- else {
- // Some of the points inside, rectangle is partially inside
- v = kPartiallyVisible;
- }
- return v;
-}
-
-TVisibility IMG_Rect::getVisibility(IMG_Line& l) const
-{
- bool s = isInside(l.m_xs, l.m_ys);
- bool e = isInside(l.m_xe, l.m_ye);
- TVisibility v;
- if (s && e) {
- v = kFullyVisible;
- }
- else if (s || e) {
- v = kPartiallyVisible;
- }
- else {
- v = kNotVisible;
- }
- return v;
-}
-
-
-void IMG_Rect::setCenter(TInt32 cx, TInt32 cy)
-{
- TInt32 offset = cx - (m_l + (m_r - m_l)/2);
- m_l += offset;
- m_r += offset;
- offset = cy - (m_t + (m_b - m_t)/2);
- m_t += offset;
- m_b += offset;
-}
-
-void IMG_Rect::setCenter(TInt32 cx, TInt32 cy, TInt32 w, TInt32 h)
-{
- long w_2, h_2;
-
- w_2 = w >> 1;
- h_2 = h >> 1;
- m_l = cx - w_2;
- m_t = cy - h_2;
- m_r = m_l + w;
- m_b = m_t + h;
-}
-
-bool IMG_Rect::clip(IMG_Rect& r) const
-{
- bool clipped = false;
- if (r.m_l < m_l) {
- r.m_l = m_l;
- clipped = true;
- }
- if (r.m_t < m_t) {
- r.m_t = m_t;
- clipped = true;
- }
- if (r.m_r > m_r) {
- r.m_r = m_r;
- clipped = true;
- }
- if (r.m_b > m_b) {
- r.m_b = m_b;
- clipped = true;
- }
- return clipped;
-}
-
-bool IMG_Rect::clip(IMG_Line& l) const
-{
- bool clipped = false;
- return clipped;
-}
diff --git a/source/blender/img/intern/IMG_Rect.h b/source/blender/img/intern/IMG_Rect.h
deleted file mode 100644
index 980c96f11aa..00000000000
--- a/source/blender/img/intern/IMG_Rect.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-
-#ifndef _H_IMG_Rect
-#define _H_IMG_Rect
-
-#include "IMG_Types.h"
-#include "IMG_Line.h"
-
-/**
- * Implements rectangle functionality.
- * Used for bounds in images.
- * The four extreme coordinates are stored as left, top, right and bottom.
- * left is assumed to be smaller than or equal to right.
- * top is assumed to be smaller than or equal to bottom.
- * @author Maarten Gribnau
- * @date March 6, 2001
- */
-
-class IMG_Rect {
-public:
-
- /**
- * Constructs a rectangle with the given values.
- * @param l requested left coordinate of the rectangle
- * @param t requested top coordinate of the rectangle
- * @param r requested right coordinate of the rectangle
- * @param b requested bottom coordinate of the rectangle
- */
- IMG_Rect(TInt32 l=0, TInt32 t=0, TInt32 r=0, TInt32 b=0)
- : m_l(l), m_t(t), m_r(r), m_b(b) {}
-
- /**
- * Copy constructor.
- * @param r rectangle to copy
- */
- IMG_Rect(const IMG_Rect& r)
- : m_l(r.m_l), m_t(r.m_t), m_r(r.m_r), m_b(r.m_b) {}
-
- /**
- * Destructor.
- */
- virtual ~IMG_Rect() {};
-
- /**
- * Access to rectangle width.
- * @return width of the rectangle
- */
- virtual inline TInt32 getWidth() const;
-
- /**
- * Access to rectangle height.
- * @return height of the rectangle
- */
- virtual inline TInt32 getHeight() const;
-
- /**
- * Sets all members of the rectangle.
- * @param l requested left coordinate of the rectangle
- * @param t requested top coordinate of the rectangle
- * @param r requested right coordinate of the rectangle
- * @param b requested bottom coordinate of the rectangle
- */
- virtual inline void set(TInt32 l, TInt32 t, TInt32 r, TInt32 b);
-
- /**
- * Returns whether this rectangle is empty.
- * Empty rectangles are rectangles that have width==0 and/or height==0.
- * @return boolean value (true==empty rectangle)
- */
- virtual inline bool isEmpty() const;
-
- /**
- * Returns whether the point is inside this rectangle.
- * Point on the boundary is considered inside.
- * @param x x-coordinate of point to test.
- * @param y y-coordinate of point to test.
- * @return boolean value (true if point is inside).
- */
- virtual inline bool isInside(TInt32 x, TInt32 y) const;
-
- /**
- * Returns whether the rectangle is inside this rectangle.
- * @param r rectangle to test.
- * @return visibility (not, partially or fully visible).
- */
- virtual TVisibility getVisibility(IMG_Rect& r) const;
-
- /**
- * Returns whether the line is inside this rectangle.
- * @param l line to test.
- * @return visibility (not, partially or fully visible).
- */
- virtual TVisibility getVisibility(IMG_Line& l) const;
-
- /**
- * Sets rectangle members.
- * Sets rectangle members such that it is centered at the given location.
- * @param cx requested center x-coordinate of the rectangle
- * @param cy requested center y-coordinate of the rectangle
- */
- virtual void setCenter(TInt32 cx, TInt32 cy);
-
- /**
- * Sets rectangle members.
- * Sets rectangle members such that it is centered at the given location,
- * with the width requested.
- * @param cx requested center x-coordinate of the rectangle
- * @param cy requested center y-coordinate of the rectangle
- * @param w requested width of the rectangle
- * @param h requested height of the rectangle
- */
- virtual void setCenter(TInt32 cx, TInt32 cy, TInt32 w, TInt32 h);
-
- /**
- * Clips a rectangle.
- * Updates the rectangle given such that it will fit within this one.
- * This can result in an empty rectangle.
- * @param r the rectangle to clip
- * @return whether clipping has occurred
- */
- virtual bool clip(IMG_Rect& r) const;
-
- /**
- * Clips a line.
- * Updates the line given such that it will fit within this rectangle.
- * This can result in an empty line.
- * @param l the line to clip
- * @return whether clipping has occurred
- */
- virtual bool clip(IMG_Line& l) const;
-
- /** Left coordinate of the rectangle */
- TInt32 m_l;
- /** Top coordinate of the rectangle */
- TInt32 m_t;
- /** Right coordinate of the rectangle */
- TInt32 m_r;
- /** Bottom coordinate of the rectangle */
- TInt32 m_b;
-};
-
-
-inline TInt32 IMG_Rect::getWidth() const
-{
- return m_r - m_l;
-}
-
-inline TInt32 IMG_Rect::getHeight() const
-{
- return m_b - m_t;
-}
-
-inline void IMG_Rect::set(TInt32 l, TInt32 t, TInt32 r, TInt32 b)
-{
- m_l = l; m_t = t; m_r = r; m_b = b;
-}
-
-inline bool IMG_Rect::isEmpty() const
-{
- return (getWidth() == 0) || (getHeight() == 0);
-}
-
-inline bool IMG_Rect::isInside(TInt32 x, TInt32 y) const
-{
- return (x >= m_l) && (x <= m_r) && (y >= m_t) && (y <= m_b);
-}
-
-#endif // _H_IMG_Rect
-
diff --git a/source/blender/img/intern/IMG_Types.h b/source/blender/img/intern/IMG_Types.h
deleted file mode 100644
index d4988d39dc6..00000000000
--- a/source/blender/img/intern/IMG_Types.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License. See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- * @author Maarten Gribnau
- * @date March 7, 2001
- */
-
-#ifndef _H_IMG_Types
-#define _H_IMG_Types
-
-typedef int TInt32;
-typedef unsigned char TUns8;
-typedef unsigned int TUns32;
-
-typedef enum {
- kNotVisible = 0,
- kPartiallyVisible,
- kFullyVisible
-} TVisibility;
-
-#endif // _H_IMG_Types
-
diff --git a/source/blender/img/intern/Makefile b/source/blender/img/intern/Makefile
deleted file mode 100644
index b4ccd4b14e9..00000000000
--- a/source/blender/img/intern/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# $Id$
-#
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License. See http://www.blender.org/BL/ for information
-# about this.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): none yet.
-#
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
-#
-#
-
-LIBNAME = img
-DIR = $(OCGDIR)/blender/$(LIBNAME)
-
-include nan_compile.mk
-
-ifeq ($(OS),$(findstring $(OS), "beos darwin freebsd linux openbsd solaris windows"))
- CFLAGS += -funsigned-char
-endif
-
-CFLAGS += $(LEVEL_1_C_WARNINGS)
-
-# path to SDNA types
-CPPFLAGS += -I../../makesdna
-# path to our own external headerfiles
-CPPFLAGS += -I..
-