Compare commits

...

No commits in common. "gh-pages" and "main" have entirely different histories.

421 changed files with 5106 additions and 16993 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.pyc

View File

@ -1,6 +1,7 @@
language: cpp language: cpp
sudo: false sudo: required
dist: trusty
branches: branches:
only: only:
@ -14,9 +15,9 @@ addons:
packages: packages:
- g++-4.9 - g++-4.9
- expect - expect
#- binutils-mingw-w64-x86-64 # 64bit MinGW - binutils-mingw-w64-x86-64 # 64bit MinGW
#- gcc-mingw-w64-x86-64 - gcc-mingw-w64-x86-64
#- g++-mingw-w64-x86-64 - g++-mingw-w64-x86-64
matrix: matrix:
include: include:
@ -26,12 +27,12 @@ matrix:
- os: linux - os: linux
env: CONF=debug BUILDER=clang TARGET=Linux env: CONF=debug BUILDER=clang TARGET=Linux
compiler: clang compiler: clang
#- os: linux - os: linux
# env: CONF=release BUILDER=gcc TARGET=Windows TAG=Mingw env: CONF=release BUILDER=gcc TARGET=Windows TAG=Mingw
# compiler: x86_64-w64-mingw32-gcc compiler: x86_64-w64-mingw32-gcc
#- os: linux - os: linux
# env: CONF=release BUILDER=gcc TARGET=Android TAG=Android DISABLE_PACKAGE=-p env: CONF=release BUILDER=gcc TARGET=Android TAG=Android DISABLE_PACKAGE=-p
# compiler: gcc compiler: gcc
- os: osx - os: osx
env: CONF=release BUILDER=clang TARGET=MacOs TAG=MacOs env: CONF=release BUILDER=clang TARGET=MacOs TAG=MacOs
compiler: clang compiler: clang
@ -52,6 +53,8 @@ install:
before_script: before_script:
- cd .. - cd ..
- git clone https://github.com/atria-soft/elog.git -b $TRAVIS_BRANCH
- git clone https://github.com/atria-soft/ememory.git -b $TRAVIS_BRANCH
- git clone https://github.com/atria-soft/etk.git -b $TRAVIS_BRANCH - git clone https://github.com/atria-soft/etk.git -b $TRAVIS_BRANCH
- git clone https://github.com/atria-soft/esvg.git -b $TRAVIS_BRANCH - git clone https://github.com/atria-soft/esvg.git -b $TRAVIS_BRANCH
- git clone https://github.com/atria-soft/exml.git -b $TRAVIS_BRANCH - git clone https://github.com/atria-soft/exml.git -b $TRAVIS_BRANCH
@ -67,14 +70,14 @@ before_script:
- ./ci/build_send.py --tag=$TAG --status=START; - ./ci/build_send.py --tag=$TAG --status=START;
script: script:
- lutin -w -j4 -C -P -t$TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF $GCOV $DISABLE_PACKAGE egami-test; STATUS=$? - lutin -w -j4 -C -P -t $TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF $GCOV $DISABLE_PACKAGE egami-test; STATUS=$?
- ./ci/build_send.py --tag=$TAG --status="$STATUS"; - ./ci/build_send.py --tag=$TAG --status="$STATUS";
after_script: after_script:
- if [ "$GCOV" != "" ]; then - if [ "$GCOV" != "" ]; then
./ci/warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/egami/; ./ci/warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/egami/;
fi fi
- ./out/Linux_x86_64/$CONF/staging/$BUILDER/egami-test/egami-test.app/bin/egami-test --etk-log-level=3 | tee out_test.txt - ./out/Linux_x86_64/$CONF/staging/$BUILDER/egami-test/egami-test.app/bin/egami-test --elog-level=3 | tee out_test.txt
- if [ "$GCOV" != "" ]; then - if [ "$GCOV" != "" ]; then
./ci/test_send.py --file=out_test.txt; ./ci/test_send.py --file=out_test.txt;
lutin -C -P -t $TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF -p egami?gcov; lutin -C -P -t $TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF -p egami?gcov;

373
LICENSE Normal file
View File

@ -0,0 +1,373 @@
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.

View File

@ -1,4 +1,83 @@
------------------------------ egami
=====
Nothing else ... `egami` is a simple wrapper to decode image file in etk image format.
Release (master)
----------------
[![Build Status](https://travis-ci.org/atria-soft/egami.svg?branch=master)](https://travis-ci.org/atria-soft/egami)
[![Coverage Status](http://atria-soft.com/ci/coverage/atria-soft/egami.svg?branch=master)](http://atria-soft.com/ci/atria-soft/egami)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/egami.svg?branch=master)](http://atria-soft.com/ci/atria-soft/egami)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/egami.svg?branch=master)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=master&tag=Linux)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=master&tag=MacOs)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=master&tag=Mingw)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=master&tag=Android)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=master&tag=IOs)](http://atria-soft.com/ci/atria-soft/egami)
Developement (dev)
------------------
[![Build Status](https://travis-ci.org/atria-soft/egami.svg?branch=dev)](https://travis-ci.org/atria-soft/egami)
[![Coverage Status](http://atria-soft.com/ci/coverage/atria-soft/egami.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/egami)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/egami.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/egami)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/egami.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=dev&tag=Linux)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=dev&tag=MacOs)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=dev&tag=Mingw)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=dev&tag=Android)](http://atria-soft.com/ci/atria-soft/egami)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/egami.svg?branch=dev&tag=IOs)](http://atria-soft.com/ci/atria-soft/egami)
Instructions
============
download Build system:
----------------------
sudo pip install lutin
sudo pip install pillow
download the software:
----------------------
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git clone https://github.com/atria-soft/etk.git
git clone https://github.com/atria-soft/exml.git
git clone https://github.com/atria-soft/esvg.git
git clone https://github.com/atria-soft/egami.git
git clone https://github.com/generic-library/gtest-lutin.git --recursive
git clone https://github.com/generic-library/z-lutin.git --recursive
git clone https://github.com/generic-library/png-lutin.git --recursive
git clone https://github.com/generic-library/edtaa3-lutin.git --recursive
git clone https://github.com/generic-library/z-lutin.git --recursive
Compile software:
-----------------
cd WORKING_DIRECTORY
lutin -C -P egami-test
License (MPL v2.0)
=====================
Copyright egami Edouard DUPIN
Licensed under the Mozilla Public License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.mozilla.org/MPL/2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,203 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/Image.hpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Image.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__color__8hpp.html">etk/Color.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/std__tools__8hpp.html">etk/stdTools.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/ememory.tag:http://atria-soft.github.io/ememory/" href="http://atria-soft.github.io/ememory/memory__8hpp.html">ememory/memory.hpp</a>&gt;</code><br />
</div>
<p><a href="_image_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ab1077d13dc6c54eb7b79bd3de2bbfd5f"><td class="memItemLeft" align="right" valign="top"><a id="ab1077d13dc6c54eb7b79bd3de2bbfd5f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>colorType</b> { <br />
&#160;&#160;<b>undefined</b>,
<b>RGBA8</b>,
<b>RGB8</b>,
<b>RGBAf</b>,
<br />
&#160;&#160;<b>RGBf</b>,
<b>unsignedInt16</b>,
<b>unsignedInt32</b>,
<b>float32</b>,
<br />
&#160;&#160;<b>float64</b>
<br />
}</td></tr>
<tr class="separator:ab1077d13dc6c54eb7b79bd3de2bbfd5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac9a02693145b12788a5c574e067c0aa2"><td class="memItemLeft" align="right" valign="top"><a id="ac9a02693145b12788a5c574e067c0aa2"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>egami::operator&lt;&lt;</b> (std::ostream &amp;_os, const enum egami::colorType _obj)</td></tr>
<tr class="separator:ac9a02693145b12788a5c574e067c0aa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Edouard DUPIN </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2011, Edouard DUPIN, all right reserved </dd></dl>
<dl class="section note"><dt>Note</dt><dd>License: APACHE v2.0 (see license file) </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,173 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/ImageMono.hpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">ImageMono.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__color__8hpp.html">etk/Color.hpp</a>&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div>
<p><a href="_image_mono_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Edouard DUPIN </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2011, Edouard DUPIN, all right reserved </dd></dl>
<dl class="section note"><dt>Note</dt><dd>License: APACHE v2.0 (see license file) </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,174 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/ImagePrivate.hpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">ImagePrivate.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__color__8hpp.html">etk/Color.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="debug_8hpp_source.html">egami/debug.hpp</a>&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div>
<p><a href="_image_private_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Edouard DUPIN </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2011, Edouard DUPIN, all right reserved </dd></dl>
<dl class="section note"><dt>Note</dt><dd>License: APACHE v2.0 (see license file) </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,160 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Class List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>egami</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image.html" target="_self">Image</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_mono.html" target="_self">ImageMono</a></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_private.html" target="_self">ImagePrivate</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_template.html" target="_self">ImageTemplate</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

1
authors.txt Normal file
View File

@ -0,0 +1 @@
Mr DUPIN Edouard <yui.heero@gmail.com>

BIN
bc_s.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

BIN
bdwn.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

View File

@ -1,192 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Member List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image.html">Image</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami::Image Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classegami_1_1_image.html">egami::Image</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>(const etk::Color&lt;&gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clear</b>(const etk::Color&lt; float &gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>(const etk::Color&lt; uint16_t, 1 &gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clear</b>(const etk::Color&lt; uint32_t, 1 &gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>(const etk::Color&lt; float, 1 &gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clear</b>(const etk::Color&lt; double, 1 &gt; &amp;_color) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>configure</b>(const ivec2 &amp;_size=ivec2(32, 32), enum colorType _type=egami::colorType::RGBA8) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>exist</b>() (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(const ivec2 &amp;_pos) const (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getHeight</b>() const (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getSize</b>() const (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getTextureDataPointer</b>() (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWidth</b>() const (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classegami_1_1_image.html#a0981834bf2b2bb1c1df232dd34d9f0ba">Image</a>()</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Image</b>(const ivec2 &amp;_size, enum colorType _type=egami::colorType::undefined) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>insert</b>(const ivec2 &amp;_pos, const egami::Image &amp;_input) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt;&gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float &gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint16_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint32_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float, 1 &gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; double, 1 &gt; &amp;_color, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classegami_1_1_image.html#a311fdbc6868d7e59478a8f4b59e5f8af">scale</a>(const ivec2 &amp;_size)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt;&gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint16_t, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint32_t, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; double, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; float, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; uint8_t, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size) (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Image</b>() (defined in <a class="el" href="classegami_1_1_image.html">egami::Image</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image.html">egami::Image</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,310 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: egami::Image Class Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image.html">Image</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classegami_1_1_image-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">egami::Image Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0981834bf2b2bb1c1df232dd34d9f0ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image.html#a0981834bf2b2bb1c1df232dd34d9f0ba">Image</a> ()</td></tr>
<tr class="separator:a0981834bf2b2bb1c1df232dd34d9f0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd2dfdac076af95aa93a075de6fa6e51"><td class="memItemLeft" align="right" valign="top"><a id="acd2dfdac076af95aa93a075de6fa6e51"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Image</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, enum colorType _type=egami::colorType::undefined)</td></tr>
<tr class="separator:acd2dfdac076af95aa93a075de6fa6e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8954cdcba0c36f8fb6a055e8286e7d5e"><td class="memItemLeft" align="right" valign="top"><a id="a8954cdcba0c36f8fb6a055e8286e7d5e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>configure</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(32, 32), enum colorType _type=egami::colorType::RGBA8)</td></tr>
<tr class="separator:a8954cdcba0c36f8fb6a055e8286e7d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4d2b3f0b5f992b16b865da44bb6aa7"><td class="memItemLeft" align="right" valign="top"><a id="afb4d2b3f0b5f992b16b865da44bb6aa7"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>getTextureDataPointer</b> ()</td></tr>
<tr class="separator:afb4d2b3f0b5f992b16b865da44bb6aa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab475b85864c4288741829b6c2be83645"><td class="memItemLeft" align="right" valign="top"><a id="ab475b85864c4288741829b6c2be83645"></a>
enum colorType&#160;</td><td class="memItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:ab475b85864c4288741829b6c2be83645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa0a1b19601c74a691fe39a470ff28e8"><td class="memItemLeft" align="right" valign="top"><a id="aaa0a1b19601c74a691fe39a470ff28e8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>exist</b> ()</td></tr>
<tr class="separator:aaa0a1b19601c74a691fe39a470ff28e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06cd30a56c7f05d79a250e27e24791fd"><td class="memItemLeft" align="right" valign="top"><a id="a06cd30a56c7f05d79a250e27e24791fd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:a06cd30a56c7f05d79a250e27e24791fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9015ba78df4eed9ccc9b643db7fdaf4"><td class="memItemLeft" align="right" valign="top"><a id="ae9015ba78df4eed9ccc9b643db7fdaf4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt;&gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:ae9015ba78df4eed9ccc9b643db7fdaf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fc3562e47c8bd95d910243d59b4d450"><td class="memItemLeft" align="right" valign="top"><a id="a4fc3562e47c8bd95d910243d59b4d450"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:a4fc3562e47c8bd95d910243d59b4d450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70ee801c16ce790d7bb6f1fa9459846a"><td class="memItemLeft" align="right" valign="top"><a id="a70ee801c16ce790d7bb6f1fa9459846a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:a70ee801c16ce790d7bb6f1fa9459846a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab443c98016b1f07a7ba5d064ed64ce3d"><td class="memItemLeft" align="right" valign="top"><a id="ab443c98016b1f07a7ba5d064ed64ce3d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:ab443c98016b1f07a7ba5d064ed64ce3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff308c7d18e63e611bc683979fdff623"><td class="memItemLeft" align="right" valign="top"><a id="aff308c7d18e63e611bc683979fdff623"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:aff308c7d18e63e611bc683979fdff623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6756ecb242e439ee2105dffff4f9a0bf"><td class="memItemLeft" align="right" valign="top"><a id="a6756ecb242e439ee2105dffff4f9a0bf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:a6756ecb242e439ee2105dffff4f9a0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11d4c6408138eede32c638c00d4e5e4a"><td class="memItemLeft" align="right" valign="top"><a id="a11d4c6408138eede32c638c00d4e5e4a"></a>
const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const</td></tr>
<tr class="separator:a11d4c6408138eede32c638c00d4e5e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa91b617cd48157edef3cdbe14b7aa64e"><td class="memItemLeft" align="right" valign="top"><a id="aa91b617cd48157edef3cdbe14b7aa64e"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWidth</b> () const</td></tr>
<tr class="separator:aa91b617cd48157edef3cdbe14b7aa64e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032a048c1314ab2f967b7ea1697c993b"><td class="memItemLeft" align="right" valign="top"><a id="a032a048c1314ab2f967b7ea1697c993b"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getHeight</b> () const</td></tr>
<tr class="separator:a032a048c1314ab2f967b7ea1697c993b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e2f9baad21b62810651ad3f13e28e9"><td class="memItemLeft" align="right" valign="top"><a id="af4e2f9baad21b62810651ad3f13e28e9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt;&gt; &amp;_color)</td></tr>
<tr class="separator:af4e2f9baad21b62810651ad3f13e28e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0821c76942b9930d3b4e48c9d65c010"><td class="memItemLeft" align="right" valign="top"><a id="ab0821c76942b9930d3b4e48c9d65c010"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float &gt; &amp;_color)</td></tr>
<tr class="separator:ab0821c76942b9930d3b4e48c9d65c010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a075394fa2c16c67b83ce07b1dc3eebf3"><td class="memItemLeft" align="right" valign="top"><a id="a075394fa2c16c67b83ce07b1dc3eebf3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_color)</td></tr>
<tr class="separator:a075394fa2c16c67b83ce07b1dc3eebf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a9851a74f7c013ababa827709a493ad"><td class="memItemLeft" align="right" valign="top"><a id="a1a9851a74f7c013ababa827709a493ad"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_color)</td></tr>
<tr class="separator:a1a9851a74f7c013ababa827709a493ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a07e559f07bbf0ba0f631e623c3a292"><td class="memItemLeft" align="right" valign="top"><a id="a7a07e559f07bbf0ba0f631e623c3a292"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_color)</td></tr>
<tr class="separator:a7a07e559f07bbf0ba0f631e623c3a292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade82ee8fa4904b0340e66b9d5ca15f88"><td class="memItemLeft" align="right" valign="top"><a id="ade82ee8fa4904b0340e66b9d5ca15f88"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_color)</td></tr>
<tr class="separator:ade82ee8fa4904b0340e66b9d5ca15f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0799909aa7c368e34ccd15f7b7761072"><td class="memItemLeft" align="right" valign="top"><a id="a0799909aa7c368e34ccd15f7b7761072"></a>
<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos) const</td></tr>
<tr class="separator:a0799909aa7c368e34ccd15f7b7761072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46a223f7b50218957ed80196274c7b11"><td class="memItemLeft" align="right" valign="top"><a id="a46a223f7b50218957ed80196274c7b11"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt;&gt; &amp;_newColor)</td></tr>
<tr class="separator:a46a223f7b50218957ed80196274c7b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbd17df7c94544c26bf17d6089f861b1"><td class="memItemLeft" align="right" valign="top"><a id="adbd17df7c94544c26bf17d6089f861b1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float &gt; &amp;_newColor)</td></tr>
<tr class="separator:adbd17df7c94544c26bf17d6089f861b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27b7c59ba4001f350182f689b0b3e115"><td class="memItemLeft" align="right" valign="top"><a id="a27b7c59ba4001f350182f689b0b3e115"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:a27b7c59ba4001f350182f689b0b3e115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a640bbef045cf786fd16369b4d288691d"><td class="memItemLeft" align="right" valign="top"><a id="a640bbef045cf786fd16369b4d288691d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:a640bbef045cf786fd16369b4d288691d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf4be9c4cd27ff9ffd20b6b4b2c70791"><td class="memItemLeft" align="right" valign="top"><a id="aaf4be9c4cd27ff9ffd20b6b4b2c70791"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:aaf4be9c4cd27ff9ffd20b6b4b2c70791"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd2830e9ece3215319fe0909b3d4224a"><td class="memItemLeft" align="right" valign="top"><a id="acd2830e9ece3215319fe0909b3d4224a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:acd2830e9ece3215319fe0909b3d4224a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82e7a3c8e3c994468b69f2aecfb4f941"><td class="memItemLeft" align="right" valign="top"><a id="a82e7a3c8e3c994468b69f2aecfb4f941"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="el" href="classegami_1_1_image.html">egami::Image</a> &amp;_input)</td></tr>
<tr class="separator:a82e7a3c8e3c994468b69f2aecfb4f941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a311fdbc6868d7e59478a8f4b59e5f8af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image.html#a311fdbc6868d7e59478a8f4b59e5f8af">scale</a> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:a311fdbc6868d7e59478a8f4b59e5f8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a780dba39b0f69becdcbec0d9fd08213e"><td class="memItemLeft" align="right" valign="top"><a id="a780dba39b0f69becdcbec0d9fd08213e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:a780dba39b0f69becdcbec0d9fd08213e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c8dd2ec686c9b64a9917422e6ad54c1"><td class="memItemLeft" align="right" valign="top"><a id="a0c8dd2ec686c9b64a9917422e6ad54c1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint8_t, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:a0c8dd2ec686c9b64a9917422e6ad54c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0981834bf2b2bb1c1df232dd34d9f0ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0981834bf2b2bb1c1df232dd34d9f0ba">&sect;&nbsp;</a></span>Image()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">egami::Image::Image </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>contructor that create an empty image (no valid data) </p>
<dl class="section note"><dt>Note</dt><dd>use configure to set a correct image </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a311fdbc6868d7e59478a8f4b59e5f8af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a311fdbc6868d7e59478a8f4b59e5f8af">&sect;&nbsp;</a></span>scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void egami::Image::scale </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td>
<td class="paramname"><em>_size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Scale an image in an other dimention. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_size</td><td>Destination size of the image. Set this function more capacity like not a multiple ratio... </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>framework/atria-soft/egami/egami/<a class="el" href="_image_8hpp_source.html">Image.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,169 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Member List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_mono.html">ImageMono</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami::ImageMono Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>(uint8_t _fill) (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>get</b>(const ivec2 &amp;_pos) const (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getHeight</b>() const (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getSize</b>() const (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTextureDataPointer</b>() (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWidth</b>() const (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ImageMono</b>(const ivec2 &amp;_size=ivec2(32, 32)) (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const uint8_t &amp;_color) (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const uint8_t &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ImageMono</b>() (defined in <a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_mono.html">egami::ImageMono</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,195 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: egami::ImageMono Class Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_mono.html">ImageMono</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classegami_1_1_image_mono-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">egami::ImageMono Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a79425a34be86b6f327685906a712fc3c"><td class="memItemLeft" align="right" valign="top"><a id="a79425a34be86b6f327685906a712fc3c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ImageMono</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(32, 32))</td></tr>
<tr class="separator:a79425a34be86b6f327685906a712fc3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0114c616585567efe6f9e37f423cb1c5"><td class="memItemLeft" align="right" valign="top"><a id="a0114c616585567efe6f9e37f423cb1c5"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>getTextureDataPointer</b> ()</td></tr>
<tr class="separator:a0114c616585567efe6f9e37f423cb1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49137d255170b205d83d8e615e0d014a"><td class="memItemLeft" align="right" valign="top"><a id="a49137d255170b205d83d8e615e0d014a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:a49137d255170b205d83d8e615e0d014a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10eefe0f69fdfa992a28f2e97239e946"><td class="memItemLeft" align="right" valign="top"><a id="a10eefe0f69fdfa992a28f2e97239e946"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const uint8_t &amp;_color)</td></tr>
<tr class="separator:a10eefe0f69fdfa992a28f2e97239e946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006a0cc1aaf80c5ea50aab74ca97f0ed"><td class="memItemLeft" align="right" valign="top"><a id="a006a0cc1aaf80c5ea50aab74ca97f0ed"></a>
const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const</td></tr>
<tr class="separator:a006a0cc1aaf80c5ea50aab74ca97f0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0adf641b599b416f653ca179d56353bd"><td class="memItemLeft" align="right" valign="top"><a id="a0adf641b599b416f653ca179d56353bd"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWidth</b> () const</td></tr>
<tr class="separator:a0adf641b599b416f653ca179d56353bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae430d2d58d0e9dd7aac53d2c6b017b57"><td class="memItemLeft" align="right" valign="top"><a id="ae430d2d58d0e9dd7aac53d2c6b017b57"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getHeight</b> () const</td></tr>
<tr class="separator:ae430d2d58d0e9dd7aac53d2c6b017b57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf27e76738e5ce4fce7376b486d3bdaf"><td class="memItemLeft" align="right" valign="top"><a id="abf27e76738e5ce4fce7376b486d3bdaf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (uint8_t _fill)</td></tr>
<tr class="separator:abf27e76738e5ce4fce7376b486d3bdaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1f19cd051a3be2957079fe83c8c72d"><td class="memItemLeft" align="right" valign="top"><a id="aab1f19cd051a3be2957079fe83c8c72d"></a>
const uint8_t &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos) const</td></tr>
<tr class="separator:aab1f19cd051a3be2957079fe83c8c72d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e7a2cbff3be579a9fd60ae250351bcf"><td class="memItemLeft" align="right" valign="top"><a id="a2e7a2cbff3be579a9fd60ae250351bcf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const uint8_t &amp;_newColor)</td></tr>
<tr class="separator:a2e7a2cbff3be579a9fd60ae250351bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>framework/atria-soft/egami/egami/<a class="el" href="_image_mono_8hpp_source.html">ImageMono.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,182 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Member List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_private.html">ImagePrivate</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami::ImagePrivate Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>()=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>get</b>(const ivec2 &amp;_pos) const =0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getHeight</b>() const (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getSize</b>() const =0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTextureDataPointer</b>() (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getWidth</b>() const (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ImagePrivate</b>() (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint8_t, 4 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float, 4 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint16_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint32_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float, 1 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; double, 1 &gt; &amp;_color, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const ivec2 &amp;_startPos)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt;&gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float &gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint16_t, 1 &gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint32_t, 1 &gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float, 1 &gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; double, 1 &gt; &amp;_newColor)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; float, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; uint8_t, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size)=0 (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ImagePrivate</b>() (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,240 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: egami::ImagePrivate Class Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_private.html">ImagePrivate</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classegami_1_1_image_private-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">egami::ImagePrivate Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for egami::ImagePrivate:</div>
<div class="dyncontent">
<div class="center">
<img src="classegami_1_1_image_private.png" usemap="#egami::ImagePrivate_map" alt=""/>
<map id="egami::ImagePrivate_map" name="egami::ImagePrivate_map">
<area href="classegami_1_1_image_template.html" alt="egami::ImageTemplate&lt; T &gt;" shape="rect" coords="0,56,165,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a394ac4f6a21f2d0f8f17d2d04f0970a3"><td class="memItemLeft" align="right" valign="top"><a id="a394ac4f6a21f2d0f8f17d2d04f0970a3"></a>
virtual void *&#160;</td><td class="memItemRight" valign="bottom"><b>getTextureDataPointer</b> ()</td></tr>
<tr class="separator:a394ac4f6a21f2d0f8f17d2d04f0970a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb83517fc6dbd96bfe19e7fba94306d4"><td class="memItemLeft" align="right" valign="top"><a id="acb83517fc6dbd96bfe19e7fba94306d4"></a>
virtual const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const =0</td></tr>
<tr class="separator:acb83517fc6dbd96bfe19e7fba94306d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0f8afe565e3abd39aedc8e2a7ecedff"><td class="memItemLeft" align="right" valign="top"><a id="ac0f8afe565e3abd39aedc8e2a7ecedff"></a>
virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWidth</b> () const</td></tr>
<tr class="separator:ac0f8afe565e3abd39aedc8e2a7ecedff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc4ac91a63d5eb059f07f2e3d25b750"><td class="memItemLeft" align="right" valign="top"><a id="a5dc4ac91a63d5eb059f07f2e3d25b750"></a>
virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getHeight</b> () const</td></tr>
<tr class="separator:a5dc4ac91a63d5eb059f07f2e3d25b750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4507f1d83d38c190327cc24a649eaf31"><td class="memItemLeft" align="right" valign="top"><a id="a4507f1d83d38c190327cc24a649eaf31"></a>
virtual enum colorType&#160;</td><td class="memItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a4507f1d83d38c190327cc24a649eaf31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad41d434cb8791cccc565903e899e0dc"><td class="memItemLeft" align="right" valign="top"><a id="aad41d434cb8791cccc565903e899e0dc"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()=0</td></tr>
<tr class="separator:aad41d434cb8791cccc565903e899e0dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfdeb6ad232c0d1463b45e6c06f4cb21"><td class="memItemLeft" align="right" valign="top"><a id="abfdeb6ad232c0d1463b45e6c06f4cb21"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint8_t, 4 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:abfdeb6ad232c0d1463b45e6c06f4cb21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98a0252285c70f8d9b1f2b49affd793"><td class="memItemLeft" align="right" valign="top"><a id="ad98a0252285c70f8d9b1f2b49affd793"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 4 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:ad98a0252285c70f8d9b1f2b49affd793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3098b41e64037f70df281f7576608398"><td class="memItemLeft" align="right" valign="top"><a id="a3098b41e64037f70df281f7576608398"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:a3098b41e64037f70df281f7576608398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d585005dddb35a129da8e45c730379e"><td class="memItemLeft" align="right" valign="top"><a id="a3d585005dddb35a129da8e45c730379e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:a3d585005dddb35a129da8e45c730379e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d3931c50edf007861d326efdb2b8767"><td class="memItemLeft" align="right" valign="top"><a id="a0d3931c50edf007861d326efdb2b8767"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:a0d3931c50edf007861d326efdb2b8767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb0e9e4b4db2e9fe1a3cacd86ae6d018"><td class="memItemLeft" align="right" valign="top"><a id="acb0e9e4b4db2e9fe1a3cacd86ae6d018"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:acb0e9e4b4db2e9fe1a3cacd86ae6d018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa7db6a0fe9ee2dc3625ca091c7786eb"><td class="memItemLeft" align="right" valign="top"><a id="afa7db6a0fe9ee2dc3625ca091c7786eb"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)=0</td></tr>
<tr class="separator:afa7db6a0fe9ee2dc3625ca091c7786eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7234c442dbec7fb17f842f4837a86d2b"><td class="memItemLeft" align="right" valign="top"><a id="a7234c442dbec7fb17f842f4837a86d2b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt;&gt; &amp;_newColor)=0</td></tr>
<tr class="separator:a7234c442dbec7fb17f842f4837a86d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0308c0d0430537acd92fc4987470e9dd"><td class="memItemLeft" align="right" valign="top"><a id="a0308c0d0430537acd92fc4987470e9dd"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float &gt; &amp;_newColor)=0</td></tr>
<tr class="separator:a0308c0d0430537acd92fc4987470e9dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d9ad482832f8132830d9764ad4d56a"><td class="memItemLeft" align="right" valign="top"><a id="aa4d9ad482832f8132830d9764ad4d56a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_newColor)=0</td></tr>
<tr class="separator:aa4d9ad482832f8132830d9764ad4d56a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78dd5d48ce6fb0ec9c06d1b35e99a309"><td class="memItemLeft" align="right" valign="top"><a id="a78dd5d48ce6fb0ec9c06d1b35e99a309"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_newColor)=0</td></tr>
<tr class="separator:a78dd5d48ce6fb0ec9c06d1b35e99a309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf35fe32005314d8349437dddee76e56"><td class="memItemLeft" align="right" valign="top"><a id="aaf35fe32005314d8349437dddee76e56"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_newColor)=0</td></tr>
<tr class="separator:aaf35fe32005314d8349437dddee76e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad827dd1d9e832432183df154e25af8d8"><td class="memItemLeft" align="right" valign="top"><a id="ad827dd1d9e832432183df154e25af8d8"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_newColor)=0</td></tr>
<tr class="separator:ad827dd1d9e832432183df154e25af8d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ca6cbc35f1e6f76a5dc5a141313e3f9"><td class="memItemLeft" align="right" valign="top"><a id="a6ca6cbc35f1e6f76a5dc5a141313e3f9"></a>
virtual <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos) const =0</td></tr>
<tr class="separator:a6ca6cbc35f1e6f76a5dc5a141313e3f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd74875e5d67baf152863b23d004cd80"><td class="memItemLeft" align="right" valign="top"><a id="abd74875e5d67baf152863b23d004cd80"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)=0</td></tr>
<tr class="separator:abd74875e5d67baf152863b23d004cd80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4408ffcdcb0b17d9f6c13dc6d74534e9"><td class="memItemLeft" align="right" valign="top"><a id="a4408ffcdcb0b17d9f6c13dc6d74534e9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint8_t, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)=0</td></tr>
<tr class="separator:a4408ffcdcb0b17d9f6c13dc6d74534e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>framework/atria-soft/egami/egami/<a class="el" href="_image_8hpp_source.html">Image.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 708 B

View File

@ -1,201 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Member List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_template.html">ImageTemplate</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami::ImageTemplate&lt; T &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clearColor</b>(const T &amp;_fill) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(const ivec2 &amp;_pos) const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>get__</b>(const ivec2 &amp;_pos) const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getHeight</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getSize</b>() (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getSize</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getTextureDataPointer</b>() (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getType</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWidth</b>() const (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ImagePrivate</b>() (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ImageTemplate</b>(const ivec2 &amp;_size=ivec2(32, 32)) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>insert</b>(const ivec2 &amp;_pos, const ImageTemplate&lt; T &gt; &amp;_input) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint8_t, 4 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float, 4 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint16_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; uint32_t, 1 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; float, 1 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const etk::Color&lt; double, 1 &gt; &amp;_color, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const ivec2 &amp;_startPos) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize</b>(const ivec2 &amp;_size, const TYPE_2 &amp;_color) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>resize__</b>(const ivec2 &amp;_size, const ivec2 &amp;_startPos=ivec2(0, 0)) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resize__</b>(const ivec2 &amp;_size, const T &amp;_color) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classegami_1_1_image_template.html#a997bad83336b60dd4730975b21f2c1c2">scale</a>(const ivec2 &amp;_size)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt;&gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint16_t, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; uint32_t, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; float, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const ivec2 &amp;_pos, const etk::Color&lt; double, 1 &gt; &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; float, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set</b>(const std::vector&lt; etk::Color&lt; uint8_t, 4 &gt;&gt; &amp;_data, const ivec2 &amp;_size) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set__</b>(const ivec2 &amp;_pos, const T &amp;_newColor) (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ImagePrivate</b>() (defined in <a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_private.html">egami::ImagePrivate</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ImageTemplate</b>() (defined in <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,339 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: egami::ImageTemplate&lt; T &gt; Class Template Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>egami</b></li><li class="navelem"><a class="el" href="classegami_1_1_image_template.html">ImageTemplate</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classegami_1_1_image_template-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">egami::ImageTemplate&lt; T &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for egami::ImageTemplate&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classegami_1_1_image_template.png" usemap="#egami::ImageTemplate_3C_20T_20_3E_map" alt=""/>
<map id="egami::ImageTemplate_3C_20T_20_3E_map" name="egami::ImageTemplate&lt; T &gt;_map">
<area href="classegami_1_1_image_private.html" alt="egami::ImagePrivate" shape="rect" coords="0,0,165,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9fefaec66f71ed505b6004d0183d9d3a"><td class="memItemLeft" align="right" valign="top"><a id="a9fefaec66f71ed505b6004d0183d9d3a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ImageTemplate</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(32, 32))</td></tr>
<tr class="separator:a9fefaec66f71ed505b6004d0183d9d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1c672f395c62463eed004166a61942"><td class="memItemLeft" align="right" valign="top"><a id="a2b1c672f395c62463eed004166a61942"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>getTextureDataPointer</b> ()</td></tr>
<tr class="separator:a2b1c672f395c62463eed004166a61942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28d505dec38afefe69f3c45a5f7540cf"><td class="memItemLeft" align="right" valign="top"><a id="a28d505dec38afefe69f3c45a5f7540cf"></a>
enum colorType&#160;</td><td class="memItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a28d505dec38afefe69f3c45a5f7540cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d2f33362e82b8facfc94f3248897c83"><td class="memItemLeft" align="right" valign="top"><a id="a2d2f33362e82b8facfc94f3248897c83"></a>
const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> ()</td></tr>
<tr class="separator:a2d2f33362e82b8facfc94f3248897c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdcb4dc6f5b9d340d279fdaeb35a4f06"><td class="memItemLeft" align="right" valign="top"><a id="afdcb4dc6f5b9d340d279fdaeb35a4f06"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize__</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(0, 0))</td></tr>
<tr class="separator:afdcb4dc6f5b9d340d279fdaeb35a4f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4091ab92eaa4b191eb769e97dbf2dbe"><td class="memItemLeft" align="right" valign="top"><a id="af4091ab92eaa4b191eb769e97dbf2dbe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize__</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const T &amp;_color)</td></tr>
<tr class="separator:af4091ab92eaa4b191eb769e97dbf2dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53182923bcf453339ac2ccb2c4f0f080"><td class="memItemLeft" align="right" valign="top"><a id="a53182923bcf453339ac2ccb2c4f0f080"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint8_t, 4 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:a53182923bcf453339ac2ccb2c4f0f080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a121a7399cb6a83c54d4c41e812f68057"><td class="memItemLeft" align="right" valign="top"><a id="a121a7399cb6a83c54d4c41e812f68057"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 4 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:a121a7399cb6a83c54d4c41e812f68057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4f077d77052aab8408e1e4cf0a32806"><td class="memItemLeft" align="right" valign="top"><a id="af4f077d77052aab8408e1e4cf0a32806"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:af4f077d77052aab8408e1e4cf0a32806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07880ee498ed85ea175a6ec129f54639"><td class="memItemLeft" align="right" valign="top"><a id="a07880ee498ed85ea175a6ec129f54639"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:a07880ee498ed85ea175a6ec129f54639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44cc9f01d11b66312bd075964c517a7"><td class="memItemLeft" align="right" valign="top"><a id="af44cc9f01d11b66312bd075964c517a7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:af44cc9f01d11b66312bd075964c517a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee96d271b00a47866a649ebad79c4545"><td class="memItemLeft" align="right" valign="top"><a id="aee96d271b00a47866a649ebad79c4545"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_color, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:aee96d271b00a47866a649ebad79c4545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac004e58a23d3bd9e21c886a8f8c7848a"><td class="memItemLeft" align="right" valign="top"><a id="ac004e58a23d3bd9e21c886a8f8c7848a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_startPos)</td></tr>
<tr class="separator:ac004e58a23d3bd9e21c886a8f8c7848a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c725fd6bb530766262359db4b6b71a0"><td class="memTemplParams" colspan="2"><a id="a0c725fd6bb530766262359db4b6b71a0"></a>
template&lt;typename TYPE_2 &gt; </td></tr>
<tr class="memitem:a0c725fd6bb530766262359db4b6b71a0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>resize</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size, const TYPE_2 &amp;_color)</td></tr>
<tr class="separator:a0c725fd6bb530766262359db4b6b71a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee9b49fdf07c15c2282a70d4aaa0c63f"><td class="memItemLeft" align="right" valign="top"><a id="aee9b49fdf07c15c2282a70d4aaa0c63f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt;&gt; &amp;_newColor)</td></tr>
<tr class="separator:aee9b49fdf07c15c2282a70d4aaa0c63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a3863341f02528b7c988d79cb116963"><td class="memItemLeft" align="right" valign="top"><a id="a8a3863341f02528b7c988d79cb116963"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float &gt; &amp;_newColor)</td></tr>
<tr class="separator:a8a3863341f02528b7c988d79cb116963"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9c32d230149cde1eb31c886fb1c7ad"><td class="memItemLeft" align="right" valign="top"><a id="a6f9c32d230149cde1eb31c886fb1c7ad"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint16_t, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:a6f9c32d230149cde1eb31c886fb1c7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a631a7f74690cf8b56fde0a5ae256923a"><td class="memItemLeft" align="right" valign="top"><a id="a631a7f74690cf8b56fde0a5ae256923a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint32_t, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:a631a7f74690cf8b56fde0a5ae256923a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae643e4ab2d2f236d0243effd2fa7284e"><td class="memItemLeft" align="right" valign="top"><a id="ae643e4ab2d2f236d0243effd2fa7284e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:ae643e4ab2d2f236d0243effd2fa7284e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a5f149d91a832fff1546e4c0dc8b44c"><td class="memItemLeft" align="right" valign="top"><a id="a6a5f149d91a832fff1546e4c0dc8b44c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; double, 1 &gt; &amp;_newColor)</td></tr>
<tr class="separator:a6a5f149d91a832fff1546e4c0dc8b44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb685d2995dd9a460b7b0a1d030e0455"><td class="memItemLeft" align="right" valign="top"><a id="aeb685d2995dd9a460b7b0a1d030e0455"></a>
const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const</td></tr>
<tr class="separator:aeb685d2995dd9a460b7b0a1d030e0455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc03332208df5f6f60b8ae75f53d2bac"><td class="memItemLeft" align="right" valign="top"><a id="afc03332208df5f6f60b8ae75f53d2bac"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWidth</b> () const</td></tr>
<tr class="separator:afc03332208df5f6f60b8ae75f53d2bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0abdc8fd8da368ec696be2fed5a15cad"><td class="memItemLeft" align="right" valign="top"><a id="a0abdc8fd8da368ec696be2fed5a15cad"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getHeight</b> () const</td></tr>
<tr class="separator:a0abdc8fd8da368ec696be2fed5a15cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b07cfadde8306a6a0102f4302f6ab72"><td class="memItemLeft" align="right" valign="top"><a id="a8b07cfadde8306a6a0102f4302f6ab72"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clearColor</b> (const T &amp;_fill)</td></tr>
<tr class="separator:a8b07cfadde8306a6a0102f4302f6ab72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a3b6c5b1a91e30331c4b7f7bbd77440"><td class="memItemLeft" align="right" valign="top"><a id="a3a3b6c5b1a91e30331c4b7f7bbd77440"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:a3a3b6c5b1a91e30331c4b7f7bbd77440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb45ba81d40bda4000513768b7f5cf03"><td class="memItemLeft" align="right" valign="top"><a id="aeb45ba81d40bda4000513768b7f5cf03"></a>
<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos) const</td></tr>
<tr class="separator:aeb45ba81d40bda4000513768b7f5cf03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eb322db4cdbf99eddca8779cc649500"><td class="memItemLeft" align="right" valign="top"><a id="a7eb322db4cdbf99eddca8779cc649500"></a>
const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>get__</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos) const</td></tr>
<tr class="separator:a7eb322db4cdbf99eddca8779cc649500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef3a989ea302a2e0576528b0637c5cf4"><td class="memItemLeft" align="right" valign="top"><a id="aef3a989ea302a2e0576528b0637c5cf4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set__</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const T &amp;_newColor)</td></tr>
<tr class="separator:aef3a989ea302a2e0576528b0637c5cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4eeb82c1c26de0f65920cfcfc2ceb77"><td class="memItemLeft" align="right" valign="top"><a id="ae4eeb82c1c26de0f65920cfcfc2ceb77"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_pos, const <a class="el" href="classegami_1_1_image_template.html">ImageTemplate</a>&lt; T &gt; &amp;_input)</td></tr>
<tr class="separator:ae4eeb82c1c26de0f65920cfcfc2ceb77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a997bad83336b60dd4730975b21f2c1c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegami_1_1_image_template.html#a997bad83336b60dd4730975b21f2c1c2">scale</a> (const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:a997bad83336b60dd4730975b21f2c1c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d316854178bb4d129f950734da7ca58"><td class="memItemLeft" align="right" valign="top"><a id="a8d316854178bb4d129f950734da7ca58"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; float, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:a8d316854178bb4d129f950734da7ca58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd486fc2c49ea72e2366f72791977c6"><td class="memItemLeft" align="right" valign="top"><a id="aebd486fc2c49ea72e2366f72791977c6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set</b> (const std::vector&lt; <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color</a>&lt; uint8_t, 4 &gt;&gt; &amp;_data, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size)</td></tr>
<tr class="separator:aebd486fc2c49ea72e2366f72791977c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a682a82b7a00087716da777eb827b3074"><td class="memTemplParams" colspan="2"><a id="a682a82b7a00087716da777eb827b3074"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a682a82b7a00087716da777eb827b3074"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a682a82b7a00087716da777eb827b3074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d0edf6001f5e224064c03f171c22a0"><td class="memTemplParams" colspan="2"><a id="a97d0edf6001f5e224064c03f171c22a0"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a97d0edf6001f5e224064c03f171c22a0"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a97d0edf6001f5e224064c03f171c22a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa758e990f9850596d8d6862e7832407a"><td class="memTemplParams" colspan="2"><a id="aa758e990f9850596d8d6862e7832407a"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:aa758e990f9850596d8d6862e7832407a"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:aa758e990f9850596d8d6862e7832407a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa30c11c25faa6dcf3450e978dcb75b"><td class="memTemplParams" colspan="2"><a id="a0fa30c11c25faa6dcf3450e978dcb75b"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a0fa30c11c25faa6dcf3450e978dcb75b"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a0fa30c11c25faa6dcf3450e978dcb75b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b8ba2e082d1da1d1b3019fa971618d"><td class="memTemplParams" colspan="2"><a id="aa3b8ba2e082d1da1d1b3019fa971618d"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:aa3b8ba2e082d1da1d1b3019fa971618d"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:aa3b8ba2e082d1da1d1b3019fa971618d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5086cfa24f8a27a53cc78a1c22bbf8be"><td class="memTemplParams" colspan="2"><a id="a5086cfa24f8a27a53cc78a1c22bbf8be"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a5086cfa24f8a27a53cc78a1c22bbf8be"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a5086cfa24f8a27a53cc78a1c22bbf8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19a9ff92b49b79cc50438302208f59e6"><td class="memTemplParams" colspan="2"><a id="a19a9ff92b49b79cc50438302208f59e6"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a19a9ff92b49b79cc50438302208f59e6"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a19a9ff92b49b79cc50438302208f59e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b46003222a09fb106612e2b85d0fe51"><td class="memTemplParams" colspan="2"><a id="a5b46003222a09fb106612e2b85d0fe51"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a5b46003222a09fb106612e2b85d0fe51"><td class="memTemplItemLeft" align="right" valign="top">enum colorType&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getType</b> () const</td></tr>
<tr class="separator:a5b46003222a09fb106612e2b85d0fe51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a997bad83336b60dd4730975b21f2c1c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a997bad83336b60dd4730975b21f2c1c2">&sect;&nbsp;</a></span>scale()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T = etk::Color&lt;&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classegami_1_1_image_template.html">egami::ImageTemplate</a>&lt; T &gt;::scale </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td>
<td class="paramname"><em>_size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Scale an image in an other dimention. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_size</td><td>Destination size of the image. Set this function more capacity like not a multiple ratio... </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>framework/atria-soft/egami/egami/<a class="el" href="_image_private_8hpp_source.html">ImagePrivate.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

View File

@ -1,160 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Class Index</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_i">i</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classegami_1_1_image_mono.html">ImageMono</a> (egami)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classegami_1_1_image_template.html">ImageTemplate</a> (egami)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classegami_1_1_image_private.html">ImagePrivate</a> (egami)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classegami_1_1_image.html">Image</a> (egami)&#160;&#160;&#160;</td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_i">i</a></div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

View File

@ -1,377 +0,0 @@
#navrow1, #navrow2, #navrow3, #navrow4, #navrow5{
border-bottom: 1px solid #EEEEEE;
}
.adjust-right {
margin-left: 30px !important;
font-size: 1.15em !important;
}
.navbar{
border: 0px solid #222 !important;
}
/* Sticky footer styles
-------------------------------------------------- */
html,
body {
counter-reset: h1counter;
height: 100%;
/* The html and body elements cannot have any padding or margin. */
}
h1, .h1, h2, .h2, h3, .h3{
font-weight: bold !important;
}
h1:before {
content: counter(h1counter) ".\0000a0\0000a0";
counter-increment: h1counter;
counter-reset: h2counter;
}
h2:before {
content: counter(h1counter) "." counter(h2counter) ".\0000a0\0000a0";
counter-increment: h2counter;
counter-reset: h3counter;
}
h3:before {
content: counter(h1counter) "." counter(h2counter) "." counter(h3counter) ".\0000a0\0000a0";
counter-increment: h3counter;
}
/* Wrapper for page content to push down footer */
#wrap {
min-height: 100%;
height: auto;
/* Negative indent footer by its height */
margin: 0 auto -60px;
/* Pad bottom by footer height */
padding: 0 0 60px;
}
/* Set the fixed height of the footer here */
#footer {
font-size: 0.9em;
padding: 8px 0px;
background-color: #f5f5f5;
}
.footer-row {
line-height: 44px;
}
#footer > .container {
padding-left: 15px;
padding-right: 15px;
}
.footer-follow-icon {
margin-left: 3px;
text-decoration: none !important;
}
.footer-follow-icon img {
width: 20px;
}
.footer-link {
padding-top: 5px;
display: inline-block;
color: #999999;
text-decoration: none;
}
.footer-copyright {
text-align: center;
}
@media (min-width: 992px) {
.footer-row {
text-align: left;
}
.footer-icons {
text-align: right;
}
}
@media (max-width: 991px) {
.footer-row {
text-align: center;
}
.footer-icons {
text-align: center;
}
}
/* DOXYGEN Code Styles
----------------------------------- */
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.code, a.code:visited, a.line, a.line:visited {
color: #4665A2;
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
color: #4665A2;
}
/* @end */
dl.el {
margin-left: -1cm;
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
font-family: monospace, fixed;
font-size: 105%;
}
div.fragment {
padding: 4px 6px;
margin: 4px 8px 4px 2px;
border: 1px solid #C4CFE5;
}
div.line {
font-family: monospace, fixed;
font-size: 13px;
min-height: 13px;
line-height: 1.0;
text-wrap: unrestricted;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
text-indent: -53px;
padding-left: 53px;
padding-bottom: 0px;
margin: 0px;
-webkit-transition-property: background-color, box-shadow;
-webkit-transition-duration: 0.5s;
-moz-transition-property: background-color, box-shadow;
-moz-transition-duration: 0.5s;
-ms-transition-property: background-color, box-shadow;
-ms-transition-duration: 0.5s;
-o-transition-property: background-color, box-shadow;
-o-transition-duration: 0.5s;
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
div.line.glow {
background-color: cyan;
box-shadow: 0 0 10px cyan;
}
span.lineno {
padding-right: 4px;
text-align: right;
border-right: 2px solid #0F0;
background-color: #E8E8E8;
white-space: pre;
}
span.lineno a {
background-color: #D8D8D8;
}
span.lineno a:hover {
background-color: #C8C8C8;
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
blockquote {
background-color: #F7F8FB;
border-left: 2px solid #9CAFD4;
margin: 0 24px 0 4px;
padding: 0 12px 0 16px;
}
/*---------------- Search Box */
#search-box {
margin: 10px 0px;
}
#search-box .close {
display: none;
position: absolute;
right: 0px;
padding: 6px 12px;
z-index: 5;
}
/*---------------- Search results window */
#search-results-window {
display: none;
}
iframe#MSearchResults {
width: 100%;
height: 15em;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
a.SRScope {
display: block;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
}
.SRResult {
display: none;
}
/* class and file list */
.directory .icona,
.directory .arrow {
height: auto;
}
.directory .icona .icon {
height: 16px;
}
.directory .icondoc {
background-position: 0px 0px;
height: 20px;
}
.directory .iconfopen {
background-position: 0px 0px;
}
.directory td.entry {
padding: 7px 8px 6px 8px;
}
.table > tbody > tr > td.memSeparator {
line-height: 0;
padding: 0;
}
.memItemLeft, .memTemplItemLeft {
white-space: normal;
}
/* enumerations */
.panel-body thead > tr {
background-color: #e0e0e0;
}
/* todo lists */
.todoname,
.todoname a {
font-weight: bold;
}
/* Class title */
.summary {
margin-top: 25px;
}
.page-header {
margin: 20px 0px !important;
}
.page-header {
#display: inline-block;
}
.title {
text-align: center;
color: orange;
}
.page-header .pull-right {
margin-top: 0.3em;
margin-left: 0.5em;
}
.page-header .label {
font-size: 50%;
}
#main-nav {
display: none;
}

113
data/read.svg Normal file
View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
id="svg4152"
version="1.1"
inkscape:version="0.91 r13725"
viewBox="0 0 64 64"
sodipodi:docname="test.svg">
<defs
id="defs4154">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective4706" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.5"
inkscape:cx="-1"
inkscape:cy="32"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1021"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata4157">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="fill:#f0d200;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4700"
width="43.454544"
height="33.454544"
x="7.818182"
y="6.909091" />
<ellipse
style="fill:#0002f0;fill-opacity:1;stroke:#00db92;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4702"
cx="44.272728"
cy="45.545456"
rx="16.09091"
ry="15.181818" />
<path
sodipodi:type="star"
style="fill:#00f04d;fill-opacity:1;stroke:#db0000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4704"
sodipodi:sides="5"
sodipodi:cx="24.727274"
sodipodi:cy="40.545455"
sodipodi:r1="16.39996"
sodipodi:r2="8.1999798"
sodipodi:arg1="0.066568164"
sodipodi:arg2="0.69488669"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 41.09091,41.636365 -10.065016,4.159525 -2.279495,10.649418 -7.066204,-8.287035 -10.832601,1.122923 5.697862,-9.281195 -4.415422,-9.955413 10.587677,2.550942 8.103721,-7.275707 0.845682,10.857763 z"
inkscape:transform-center-x="-1.2419781"
inkscape:transform-center-y="0.33710945" />
<path
sodipodi:type="star"
style="fill:#d000f0;fill-opacity:1;stroke:#001bdb;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4722"
sodipodi:sides="5"
sodipodi:cx="-8.181818"
sodipodi:cy="-6.3636365"
sodipodi:r1="43.930073"
sodipodi:r2="35.540176"
sodipodi:arg1="0.68572951"
sodipodi:arg2="1.314048"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 25.818183,21.454546 -49.950086,13.114031 -27.90761,-43.4528968 32.702234,-39.9693982 48.118702,18.750451 z"
inkscape:transform-center-x="3.447227"
inkscape:transform-center-y="-0.77893397" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
data/read2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
data/read3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
data/read4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
data/read_128x128.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
data/read_128x128.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
data/read_128x128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
data/read_227x149.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
data/read_227x149.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
data/read_227x149.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
data/read_228x149.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@ -1,230 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/debug.hpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">debug.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/elog.tag:http://atria-soft.github.io/elog/" href="http://atria-soft.github.io/elog/log__8hpp.html">elog/log.hpp</a>&gt;</code><br />
</div>
<p><a href="debug_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a0200bf3033144fd53ed2a7bdf90ad938"><td class="memItemLeft" align="right" valign="top"><a id="a0200bf3033144fd53ed2a7bdf90ad938"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_BASE</b>(info, data)&#160;&#160;&#160;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/elog.tag:http://atria-soft.github.io/elog/" href="http://atria-soft.github.io/elog/log_8hpp.html#aa40f1ece2f1d083805177411e2129690">ELOG_BASE</a>(egami::getLogId(),info,data)</td></tr>
<tr class="separator:a0200bf3033144fd53ed2a7bdf90ad938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a0286ae447f56bb575f63682aecdbb"><td class="memItemLeft" align="right" valign="top"><a id="a72a0286ae447f56bb575f63682aecdbb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_CRITICAL</b>(data)&#160;&#160;&#160;EGAMI_BASE(1, data)</td></tr>
<tr class="separator:a72a0286ae447f56bb575f63682aecdbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a827bdc1e45f9399550f82d2d3443a5b5"><td class="memItemLeft" align="right" valign="top"><a id="a827bdc1e45f9399550f82d2d3443a5b5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_ERROR</b>(data)&#160;&#160;&#160;EGAMI_BASE(2, data)</td></tr>
<tr class="separator:a827bdc1e45f9399550f82d2d3443a5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269053e3f8b68eaeae34ceed61c273e8"><td class="memItemLeft" align="right" valign="top"><a id="a269053e3f8b68eaeae34ceed61c273e8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_WARNING</b>(data)&#160;&#160;&#160;EGAMI_BASE(3, data)</td></tr>
<tr class="separator:a269053e3f8b68eaeae34ceed61c273e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0424c6d87871e9f8397a6ffc18377114"><td class="memItemLeft" align="right" valign="top"><a id="a0424c6d87871e9f8397a6ffc18377114"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_INFO</b>(data)&#160;&#160;&#160;do { } while(false)</td></tr>
<tr class="separator:a0424c6d87871e9f8397a6ffc18377114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02ab1ab1cfb5586295661cc89943474a"><td class="memItemLeft" align="right" valign="top"><a id="a02ab1ab1cfb5586295661cc89943474a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_DEBUG</b>(data)&#160;&#160;&#160;do { } while(false)</td></tr>
<tr class="separator:a02ab1ab1cfb5586295661cc89943474a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf8373ec801dbb8f698a70ce80a33f5f"><td class="memItemLeft" align="right" valign="top"><a id="aaf8373ec801dbb8f698a70ce80a33f5f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_VERBOSE</b>(data)&#160;&#160;&#160;do { } while(false)</td></tr>
<tr class="separator:aaf8373ec801dbb8f698a70ce80a33f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79ecd36dd92820435f22c835db51a5ca"><td class="memItemLeft" align="right" valign="top"><a id="a79ecd36dd92820435f22c835db51a5ca"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_TODO</b>(data)&#160;&#160;&#160;do { } while(false)</td></tr>
<tr class="separator:a79ecd36dd92820435f22c835db51a5ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a33c35b413a470dcdee845693e5f5d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>EGAMI_ASSERT</b>(cond, data)</td></tr>
<tr class="separator:a3a33c35b413a470dcdee845693e5f5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a97f0479ef4f8ea004224959df223bcbc"><td class="memItemLeft" align="right" valign="top"><a id="a97f0479ef4f8ea004224959df223bcbc"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>egami::getLogId</b> ()</td></tr>
<tr class="separator:a97f0479ef4f8ea004224959df223bcbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Edouard DUPIN </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2011, Edouard DUPIN, all right reserved </dd></dl>
<dl class="section note"><dt>Note</dt><dd>License: APACHE v2.0 (see license file) </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a3a33c35b413a470dcdee845693e5f5d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a33c35b413a470dcdee845693e5f5d0">&sect;&nbsp;</a></span>EGAMI_ASSERT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EGAMI_ASSERT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cond, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">data&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div><div class="line"> if (!(cond)) { \</div><div class="line"> EGAMI_CRITICAL(data); \</div><div class="line"> assert(!#cond); \</div><div class="line"> } \</div><div class="line"> } <span class="keywordflow">while</span> (0)</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,155 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework Directory Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">framework Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,177 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami Directory Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:debug_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8hpp.html">debug.hpp</a> <a href="debug_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:egami_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="egami_8hpp.html">egami.hpp</a> <a href="egami_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_image_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_image_8hpp.html">Image.hpp</a> <a href="_image_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_image_mono_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_image_mono_8hpp.html">ImageMono.hpp</a> <a href="_image_mono_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:_image_private_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_image_private_8hpp.html">ImagePrivate.hpp</a> <a href="_image_private_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:wrapper_b_m_p_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wrapper_b_m_p_8hpp.html">wrapperBMP.hpp</a> <a href="wrapper_b_m_p_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:wrapper_e_d_f_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wrapper_e_d_f_8hpp.html">wrapperEDF.hpp</a> <a href="wrapper_e_d_f_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:wrapper_p_n_g_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wrapper_p_n_g_8hpp.html">wrapperPNG.hpp</a> <a href="wrapper_p_n_g_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:wrapper_s_v_g_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wrapper_s_v_g_8hpp.html">wrapperSVG.hpp</a> <a href="wrapper_s_v_g_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,155 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft Directory Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">atria-soft Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,159 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami Directory Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
</table>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

BIN
doc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

72
doc/build.md Normal file
View File

@ -0,0 +1,72 @@
Build lib & build sample {#egami_build}
========================
@tableofcontents
Download: {#egami_build_download}
=========
egami use some tools to manage source and build it:
lutin (build-system): {#egami_build_download_lutin}
---------------------
```{.sh}
pip install lutin --user
# optionnal dependency of lutin (manage image changing size for application release)
pip install pillow --user
```
dependency: {#egami_build_download_dependency}
-----------
```{.sh}
mkdir framework
cd framework
git clone https://github.com/atria-soft/etk.git
git clone https://github.com/atria-soft/exml.git
git clone https://github.com/atria-soft/esvg.git
git clone https://github.com/atria-soft/egami.git
git clone https://github.com/generic-library/gtest-lutin.git --recursive
git clone https://github.com/generic-library/z-lutin.git --recursive
git clone https://github.com/generic-library/png-lutin.git --recursive
git clone https://github.com/generic-library/edtaa3-lutin.git --recursive
git clone https://github.com/generic-library/z-lutin.git --recursive
cd ..
```
sources: {#egami_build_download_sources}
--------
```{.sh}
cd framework
git clone https://github.com/atria-soft/egami.git
cd ..
```
Build: {#egami_build_build}
======
library: {#egami_build_build_library}
--------
```{.sh}
lutin -mdebug egami
```
Sample: {#egami_build_build_sample}
-------
```{.sh}
lutin -mdebug egami-sample
```
Run sample: {#egami_build_run_sample}
===========
```{.sh}
lutin -mdebug egami-sample?run
```

78
doc/mainpage.md Normal file
View File

@ -0,0 +1,78 @@
EGAMI library {#mainpage}
=============
@tableofcontents
What is EGAMI: {#egami_mainpage_what}
==============
EGAMI, or IMAGE in the oposity way is a simple library that permit to read many format of image without knolege of the specific under library API.
What it does: {#egami_mainpage_what_it_does}
-------------
EGAMI Read some image format:
- bmp
- png
- svg
Egami stor file format:
- bmp
EGAMI is dependent of the STL (compatible with MacOs stl (CXX))
What is the TODO list: {#egami_mainpage_todo}
----------------------
Must integrate read of:
- jpeg
- webp
- gif
- tga
- yuv
Must integrate store of:
- png
- webp
must port to use Open-cv core backend to store image (in optionnal mode)
What languages are supported? {#egami_mainpage_language}
=============================
EGAMI is written in C++.
Are there any licensing restrictions? {#egami_mainpage_license_restriction}
=====================================
EGAMI is **FREE software** and _all sub-library are FREE and staticly linkable !!!_
License (MPL v2.0) {#egami_mainpage_license}
==================
Copyright EGAMI Edouard DUPIN
Licensed under the Mozilla Public License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
<https://www.mozilla.org/MPL/2.0>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Other pages {#egami_mainpage_sub_page}
===========
- @ref egami_build
- @ref egami_tutorial_read
- @ref egami_tutorial_write
- [**ewol coding style**](http://atria-soft.github.io/ewol/ewol_coding_style.html)

36
doc/read.md Normal file
View File

@ -0,0 +1,36 @@
Read file with EGAMI {#egami_tutorial_read}
====================
@tableofcontents
Include EGAMI
@snippet read.cpp egami_sample_include
Declare image interface
@snippet read.cpp egami_sample_declare_image
Read a Bitmap or an PNG {#egami_tutorial_read_file}
=======================
Read a bitmap
@snippet read.cpp egami_sample_read_file_bmp
Read a PNG
@snippet read.cpp egami_sample_read_file_png
Read a SVG {#egami_tutorial_read_file_svg}
==========
Read a svg
@snippet read.cpp egami_sample_read_file_svg
Read a svg and natively rescale it:
@snippet read.cpp egami_sample_read_file_svg_rescale
All example file {#egami_tutorial_read_all}
================
@snippet read.cpp egami_sample_read_all

31
doc/write.md Normal file
View File

@ -0,0 +1,31 @@
Write an EGAMI content {#egami_tutorial_write}
====================
@tableofcontents
Include EGAMI
@snippet read.cpp egami_sample_include
Declare image interface
@snippet read.cpp egami_sample_declare_image
Create an image with data {#egami_tutorial_write_create_image}
=========================
Set image point:
@snippet write.cpp egami_sample_create_image
Write image with egami {#egami_tutorial_write_stream}
======================
Write the data in the file:
@snippet write.cpp egami_sample_write_file_bmp
All example file {#egami_tutorial_write_all}
================
@snippet write.cpp egami_sample_write_all

View File

@ -1,264 +0,0 @@
$( document ).ready(function() {
$("div.headertitle").addClass("page-header");
$("div.title").addClass("h1");
$('li > a[href="index.html"] > span').before("<i class='fa fa-cog'></i> ");
$('li > a[href="modules.html"] > span').before("<i class='fa fa-square'></i> ");
$('li > a[href="namespaces.html"] > span').before("<i class='fa fa-bars'></i> ");
$('li > a[href="annotated.html"] > span').before("<i class='fa fa-list-ul'></i> ");
$('li > a[href="classes.html"] > span').before("<i class='fa fa-book'></i> ");
$('li > a[href="inherits.html"] > span').before("<i class='fa fa-sitemap'></i> ");
$('li > a[href="functions.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_func.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_vars.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_enum.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_eval.html"] > span').before("<i class='fa fa-list'></i> ");
$('img[src="ftv2ns.png"]').replaceWith('<span class="label label-danger">N</span> ');
$('img[src="ftv2cl.png"]').replaceWith('<span class="label label-danger">C</span> ');
$("ul.tablist").addClass("nav nav-pills nav-justified");
$("ul.tablist").css("margin-top", "0.5em");
$("ul.tablist").css("margin-bottom", "0.5em");
$("li.current").addClass("active");
$("iframe").attr("scrolling", "yes");
$("#nav-path > ul").addClass("breadcrumb");
$("table.params").addClass("table");
$("div.ingroups").wrapInner("<small></small>");
$("div.levels").css("margin", "0.5em");
$("div.levels > span").addClass("btn btn-default btn-xs");
$("div.levels > span").css("margin-right", "0.25em");
$("table.directory").addClass("table table-striped");
$("div.summary > a").addClass("btn btn-default btn-xs");
$("table.fieldtable").addClass("table");
$(".fragment").addClass("well");
$(".memitem").addClass("panel panel-default");
$(".memproto").addClass("panel-heading");
$(".memdoc").addClass("panel-body");
$("span.mlabel").addClass("label label-info");
$("table.memberdecls").addClass("table");
$("[class^=memitem]").addClass("active");
$("div.ah").addClass("btn btn-default");
$("span.mlabels").addClass("pull-right");
$("table.mlabels").css("width", "100%")
$("td.mlabels-right").addClass("pull-right");
$("div.ttc").addClass("panel panel-primary");
$("div.ttname").addClass("panel-heading");
$("div.ttname a").css("color", 'white');
$("div.ttdef,div.ttdoc,div.ttdeci").addClass("panel-body");
$('div.fragment.well div.line:first').css('margin-top', '15px');
$('div.fragment.well div.line:last').css('margin-bottom', '15px');
$('table.doxtable').removeClass('doxtable').addClass('table table-striped table-bordered').each(function(){
$(this).prepend('<thead></thead>');
$(this).find('tbody > tr:first').prependTo($(this).find('thead'));
$(this).find('td > span.success').parent().addClass('success');
$(this).find('td > span.warning').parent().addClass('warning');
$(this).find('td > span.danger').parent().addClass('danger');
});
if($('div.fragment.well div.ttc').length > 0)
{
$('div.fragment.well div.line:first').parent().removeClass('fragment well');
}
//merge left ad right element in the fuction table item
/*
$('table.memberdecls').find('.memItemRight').each(function(){
$(this).contents().appendTo($(this).siblings('.memItemLeft'));
$(this).siblings('.memItemLeft').attr('align', 'left');
});
*/
function getOriginalWidthOfImg(img_element) {
var t = new Image();
t.src = (img_element.getAttribute ? img_element.getAttribute("src") : false) || img_element.src;
return t.width;
}
$('div.dyncontent').find('img').each(function(){
if(getOriginalWidthOfImg($(this)[0]) > $('#content>div.container').width())
$(this).css('width', '100%');
});
/* responsive search box */
$('#MSearchBox').parent().remove();
var nav_container = $('<div class="row"></div>');
$('#navrow1').parent().prepend(nav_container);
var left_nav = $('<div class="col-md-9"></div>');
for (i = 0; i < 6; i++) {
var navrow = $('#navrow' + i + ' > ul.tablist').detach();
left_nav.append(navrow);
$('#navrow' + i).remove();
}
var right_nav = $('<div class="col-md-3"></div>').append('\
<div id="search-box" class="input-group">\
<div class="input-group-btn">\
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">\
<span class="glyphicon glyphicon-search"></span> <span class="caret"></span>\
</button>\
<ul class="dropdown-menu">\
</ul>\
</div>\
<button id="search-close" type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button>\
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">\
</div>');
$(nav_container).append(left_nav);
$(nav_container).append(right_nav);
$('#MSearchSelectWindow .SelectionMark').remove();
var search_selectors = $('#MSearchSelectWindow .SelectItem');
for (var i = 0; i < search_selectors.length; i += 1) {
var element_a = $('<a href="#"></a>').text($(search_selectors[i]).text());
element_a.click(function(){
$('#search-box .dropdown-menu li').removeClass('active');
$(this).parent().addClass('active');
searchBox.OnSelectItem($('#search-box li a').index(this));
searchBox.Search();
return false;
});
var element = $('<li></li>').append(element_a);
$('#search-box .dropdown-menu').append(element);
}
$('#MSearchSelectWindow').remove();
$('#search-box .close').click(function (){
searchBox.CloseResultsWindow();
});
$('body').append('<div id="MSearchClose"></div>');
$('body').append('<div id="MSearchBox"></div>');
$('body').append('<div id="MSearchSelectWindow"></div>');
searchBox.searchLabel = '';
searchBox.DOMSearchField = function() {
return document.getElementById("search-field");
}
searchBox.DOMSearchClose = function(){
return document.getElementById("search-close");
}
/* search results */
var results_iframe = $('#MSearchResults').detach();
$('#MSearchResultsWindow')
.attr('id', 'search-results-window')
.addClass('panel panel-default')
.append(
'<div class="panel-heading">\
<h3 class="panel-title">Search Results</h3>\
</div>\
<div class="panel-body"></div>'
);
$('#search-results-window .panel-body').append(results_iframe);
searchBox.DOMPopupSearchResultsWindow = function() {
return document.getElementById("search-results-window");
}
function update_search_results_window() {
$('#search-results-window').removeClass('panel-default panel-success panel-warning panel-danger')
var status = $('#MSearchResults').contents().find('.SRStatus:visible');
if (status.length > 0) {
switch(status.attr('id')) {
case 'Loading':
case 'Searching':
$('#search-results-window').addClass('panel-warning');
break;
case 'NoMatches':
$('#search-results-window').addClass('panel-danger');
break;
default:
$('#search-results-window').addClass('panel-default');
}
} else {
$('#search-results-window').addClass('panel-success');
}
}
$('#MSearchResults').load(function() {
$('#MSearchResults').contents().find('link[href="search.css"]').attr('href','../doxygen.css');
$('#MSearchResults').contents().find('head').append(
'<link href="../customdoxygen.css" rel="stylesheet" type="text/css">');
update_search_results_window();
// detect status changes (only for search with external search backend)
var observer = new MutationObserver(function(mutations) {
update_search_results_window();
});
var config = {
attributes: true
};
var targets = $('#MSearchResults').contents().find('.SRStatus');
for (i = 0; i < targets.length; i++) {
observer.observe(targets[i], config);
}
});
/* enumerations */
$('table.fieldtable').removeClass('fieldtable').addClass('table table-striped table-bordered').each(function(){
$(this).prepend('<thead></thead>');
$(this).find('tbody > tr:first').prependTo($(this).find('thead'));
$(this).find('td > span.success').parent().addClass('success');
$(this).find('td > span.warning').parent().addClass('warning');
$(this).find('td > span.danger').parent().addClass('danger');
});
/* todo list */
var todoelements = $('.contents > .textblock > dl.reflist > dt, .contents > .textblock > dl.reflist > dd');
for (var i = 0; i < todoelements.length; i += 2) {
$('.contents > .textblock').append(
'<div class="panel panel-default active">'
+ "<div class=\"panel-heading todoname\">" + $(todoelements[i]).html() + "</div>"
+ "<div class=\"panel-body\">" + $(todoelements[i+1]).html() + "</div>"
+ '</div>');
}
$('.contents > .textblock > dl').remove();
$(".memitem").removeClass('memitem');
$(".memproto").removeClass('memproto');
$(".memdoc").removeClass('memdoc');
$("span.mlabel").removeClass('mlabel');
$("table.memberdecls").removeClass('memberdecls');
$("[class^=memitem]").removeClass('memitem');
$("span.mlabels").removeClass('mlabels');
$("table.mlabels").removeClass('mlabels');
$("td.mlabels-right").removeClass('mlabels-right');
$(".navpath").removeClass('navpath');
$("li.navelem").removeClass('navelem');
$("a.el").removeClass('el');
$("div.ah").removeClass('ah');
$("div.header").removeClass("header");
$('.mdescLeft').each(function(){
if($(this).html()=="&nbsp;") {
$(this).siblings('.mdescRight').attr('colspan', 2);
$(this).remove();
}
});
$('td.memItemLeft').each(function(){
if($(this).siblings('.memItemRight').html()=="") {
$(this).attr('colspan', 2);
$(this).siblings('.memItemRight').remove();
}
});
});

29
doxy_egami.py Normal file
View File

@ -0,0 +1,29 @@
#!/usr/bin/python
import os
import doxy.module as module
import doxy.debug as debug
import doxy.tools as tools
def create(target, module_name):
my_module = module.Module(__file__, module_name)
my_module.set_version("version.txt")
my_module.set_title("egami: Ewol IMAGE interface abstraction")
my_module.set_website("http://atria-soft.github.io/" + module_name)
my_module.set_website_sources("http://github.com/atria-soft/" + module_name)
my_module.add_path([
module_name,
"doc"
])
my_module.add_sample_path([
"sample",
])
my_module.add_depend([
'esvg',
'etk'
])
my_module.add_file_patterns([
'*.hpp',
'*.md',
])
return my_module

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -1,97 +0,0 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}

422
egami/Image.cpp Normal file
View File

@ -0,0 +1,422 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <egami/Image.hpp>
#include <egami/debug.hpp>
#include <egami/ImagePrivate.hpp>
#include <ememory/memory.hpp>
etk::Stream& egami::operator <<(etk::Stream& _os, const egami::Image& _obj) {
_os << "egami::Image{" << _obj.getSize() << " on GPU: " << _obj.getGPUSize() << " color=" << _obj.getType();
return _os;
}
etk::Stream& egami::operator <<(etk::Stream& _os, const enum egami::colorType _type) {
switch (_type) {
case egami::colorType::undefined:
_os << "egami::colorType::undefined";
break;
case egami::colorType::RGBA8:
_os << "egami::colorType::RGBA8";
break;
case egami::colorType::RGB8:
_os << "egami::colorType::RGB8";
break;
case egami::colorType::RGBAf:
_os << "egami::colorType::RGBAf";
break;
case egami::colorType::RGBf:
_os << "egami::colorType::RGBf";
break;
case egami::colorType::unsignedInt16:
_os << "egami::colorType::unsignedInt16";
break;
case egami::colorType::unsignedInt32:
_os << "egami::colorType::unsignedInt32";
break;
case egami::colorType::float32:
_os << "egami::colorType::float32";
break;
case egami::colorType::float64:
_os << "egami::colorType::float64";
break;
}
return _os;
}
int32_t egami::getFormatColorSize(enum colorType _type) {
switch (_type) {
case egami::colorType::undefined:
return 1;
break;
case egami::colorType::RGBA8:
return 1*4;
break;
case egami::colorType::RGB8:
return 1*3;
break;
case egami::colorType::RGBAf:
return 4*4;
break;
case egami::colorType::RGBf:
return 4*3;
break;
case egami::colorType::unsignedInt16:
return 2;
break;
case egami::colorType::unsignedInt32:
return 4;
break;
case egami::colorType::float32:
return 4;
break;
case egami::colorType::float64:
return 8;
break;
}
return 1;
}
egami::Image::Image() :
m_data(null) {
}
egami::Image::Image(const egami::Image& _image):
m_data(_image.m_data) {
}
egami::Image& egami::Image::operator=(const egami::Image& _image) {
m_data = _image.m_data;
return *this;
}
egami::Image::~Image() {
}
egami::Image::Image(const ivec2& _size,
enum colorType _type,
const void* _dataToCopy) :
m_data(null) {
configure(_size, _type);
if (_dataToCopy != null) {
memcpy(getTextureDataPointer(), _dataToCopy, getSize().x()*getSize().y()*egami::getFormatColorSize(getType()));
}
}
void egami::Image::swap(egami::Image& _obj) {
ememory::SharedPtr<ImagePrivate> tmp = m_data;
m_data = _obj.m_data;
_obj.m_data = tmp;
}
void egami::Image::configure(const ivec2& _size, enum colorType _type) {
switch (_type) {
case egami::colorType::undefined:
m_data = null;
break;
case egami::colorType::RGBA8:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<uint8_t, 4>>>(_size);
break;
case egami::colorType::RGB8:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<uint8_t, 3>>>(_size);
break;
case egami::colorType::RGBAf:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<float, 4>>>(_size);
break;
case egami::colorType::RGBf:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<float, 3>>>(_size);
break;
case egami::colorType::unsignedInt16:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<uint16_t, 1>>>(_size);
break;
case egami::colorType::unsignedInt32:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<uint32_t, 1>>>(_size);
break;
case egami::colorType::float32:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<float, 1>>>(_size);
break;
case egami::colorType::float64:
m_data = ememory::makeShared<egami::ImageTemplate<etk::Color<double, 1>>>(_size);
break;
}
}
enum egami::colorType egami::Image::getType() const {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return egami::colorType::undefined;
}
return m_data->getType();
}
void* egami::Image::getTextureDataPointer() const{
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return null;
}
return (void*)m_data->getTextureDataPointer();
}
void egami::Image::resize(const ivec2& _size, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize2(_size, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<float>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<uint16_t, 1>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<uint32_t, 1>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<float, 1>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
void egami::Image::resize(const ivec2& _size, const etk::Color<double, 1>& _color, const ivec2& _startPos) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->resize(_size, _color, _startPos);
}
const ivec2& egami::Image::getSize() const {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
static const ivec2 error(0,0);
return error;
}
return m_data->getSize();
}
#if defined(__TARGET_OS__Android) \
|| defined(__TARGET_OS__IOs)
/**
* @brief get the next power 2 if the input
* @param[in] value Value that we want the next power of 2
* @return result value
*/
static int32_t nextP2(int32_t _value) {
int32_t val=1;
for (int32_t iii=1; iii<31; iii++) {
if (_value <= val) {
return val;
}
val *=2;
}
EGAMI_CRITICAL("impossible CASE....");
return val;
}
#endif
ivec2 egami::Image::getGPUSize() const {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
static const ivec2 error(0,0);
return error;
}
#if defined(__TARGET_OS__Android) \
|| defined(__TARGET_OS__IOs)
return ivec2(nextP2(m_data->getSize().x()),
nextP2(m_data->getSize().y()));
#else
return m_data->getSize();
#endif
}
int32_t egami::Image::getWidth() const {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return 0;
}
return m_data->getWidth();
}
int32_t egami::Image::getHeight() const {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return 0;
}
return m_data->getHeight();
}
void egami::Image::scale(const ivec2& _size) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
resize(_size);
}
void egami::Image::clear(const etk::Color<>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
void egami::Image::clear(const etk::Color<float>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
void egami::Image::clear(const etk::Color<uint16_t, 1>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
void egami::Image::clear(const etk::Color<uint32_t, 1>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
void egami::Image::clear(const etk::Color<float, 1>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
void egami::Image::clear(const etk::Color<double, 1>& _color) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->clear();
};
etk::Color<> egami::Image::get(const ivec2& _pos) const {
if (m_data == null) {
return etk::Color<>(0,0,0,0);
}
return m_data->get(_pos);;
}
void egami::Image::insert(const ivec2& _pos, const egami::Image& _input) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
if (_input.m_data == null) {
EGAMI_DEBUG("No input data for image (null)");
return;
}
enum colorType destType = m_data->getType();
enum colorType sourceType = _input.m_data->getType();
if (destType == sourceType) {
for (int32_t yyy=0; yyy < _input.getHeight(); ++yyy) {
for (int32_t xxx=0; xxx < _input.getWidth(); ++xxx) {
m_data->set(ivec2(_pos.x()+xxx,_pos.y()+yyy), _input.m_data->get(ivec2(xxx,yyy)));
//EGAMI_INFO("copy : " << ivec2(xxx,yyy) << " => " << ivec2(_pos.x()+xxx,_pos.y()+yyy));
}
}
} else {
EGAMI_CRITICAL("TODO : Insert image");
}
}
void egami::Image::set(const ivec2& _pos, const etk::Color<>& _newColor) {
if (m_data == null) {
EGAMI_WARNING("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const ivec2& _pos, const etk::Color<float>& _newColor) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const ivec2& _pos, const etk::Color<uint16_t, 1>& _newColor) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const ivec2& _pos, const etk::Color<uint32_t, 1>& _newColor) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const ivec2& _pos, const etk::Color<float, 1>& _newColor) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const ivec2& _pos, const etk::Color<double, 1>& _newColor) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_pos, _newColor);
}
void egami::Image::set(const etk::Vector<etk::Color<float,4>>& _data, const ivec2& _size) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_data, _size);
}
void egami::Image::set(const etk::Vector<etk::Color<uint8_t,4>>& _data, const ivec2& _size) {
if (m_data == null) {
EGAMI_DEBUG("No internal data for image (null)");
return;
}
m_data->set(_data, _size);
}

151
egami/Image.hpp Normal file
View File

@ -0,0 +1,151 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <etk/types.hpp>
#include <etk/Vector.hpp>
#include <etk/math/Vector2D.hpp>
#include <etk/Color.hpp>
#include <etk/stdTools.hpp>
#include <ememory/memory.hpp>
namespace egami {
enum class colorType {
undefined,
RGBA8,
RGB8,
RGBAf,
RGBf,
//unsignedInt8,
unsignedInt16,
unsignedInt32,
float32,
float64,
};
etk::Stream& operator <<(etk::Stream& _os, const enum egami::colorType _obj);
/**
* @brief Get the Color size use in octet
* @param[in] type of the color
* @return Number of byte requested by the color
*/
int32_t getFormatColorSize(enum colorType _type);
class ImagePrivate {
public:
ImagePrivate() {};
virtual ~ImagePrivate() {};
virtual void* getTextureDataPointer() const {
return null;
};
virtual const ivec2& getSize() const = 0;
virtual int32_t getWidth() const {
return 0;
};
virtual int32_t getHeight() const {
return 0;
};
virtual enum colorType getType() const {
return egami::colorType::RGBA8;
};
virtual void clear() = 0;
virtual void resize(const ivec2& _size, const etk::Color<uint8_t, 4>& _color, const ivec2& _startPos) = 0;
virtual void resize(const ivec2& _size, const etk::Color<float, 4>& _color, const ivec2& _startPos) = 0;
virtual void resize(const ivec2& _size, const etk::Color<uint16_t, 1>& _color, const ivec2& _startPos) = 0;
virtual void resize(const ivec2& _size, const etk::Color<uint32_t, 1>& _color, const ivec2& _startPos) = 0;
virtual void resize(const ivec2& _size, const etk::Color<float, 1>& _color, const ivec2& _startPos) = 0;
virtual void resize(const ivec2& _size, const etk::Color<double, 1>& _color, const ivec2& _startPos) = 0;
virtual void resize2(const ivec2& _size, const ivec2& _startPos) = 0;
virtual void set(const ivec2& _pos, const etk::Color<>& _newColor) = 0;
virtual void set(const ivec2& _pos, const etk::Color<float>& _newColor) = 0;
virtual void set(const ivec2& _pos, const etk::Color<uint16_t, 1>& _newColor) = 0;
virtual void set(const ivec2& _pos, const etk::Color<uint32_t, 1>& _newColor) = 0;
virtual void set(const ivec2& _pos, const etk::Color<float, 1>& _newColor) = 0;
virtual void set(const ivec2& _pos, const etk::Color<double, 1>& _newColor) = 0;
virtual etk::Color<> get(const ivec2& _pos) const = 0;
virtual void set(const etk::Vector<etk::Color<float,4>>& _data, const ivec2& _size) = 0;
virtual void set(const etk::Vector<etk::Color<uint8_t,4>>& _data, const ivec2& _size) = 0;
};
class Image {
private:
// TODO : Change this in a unique_ptr ...
ememory::SharedPtr<ImagePrivate> m_data; //!< data of the image
public:
/**
* @brief contructor that create an empty image (no valid data)
* @note use @ref configure to set a correct image
*/
Image();
Image(const egami::Image& _image);
Image& operator=(const egami::Image& _image);
Image(const ivec2& _size,
enum colorType _type = egami::colorType::undefined,
const void* _dataToCopy = null);
~Image();
// TODO : IMplement move operator ... and copy operator...
public:
void configure(const ivec2& _size=ivec2(32,32),
enum colorType _type=egami::colorType::RGBA8);
void* getTextureDataPointer() const;
enum colorType getType() const;
bool exist() {
return m_data != null;
}
void swap(egami::Image& _obj);
// -----------------------------------------------
// -- basic tools:
// -----------------------------------------------
public :
void move(const ivec2& _offset);
void resize(const ivec2& _size, const ivec2& _startPos=ivec2(0,0));
// TODO : Create a template function ...
void resize(const ivec2& _size, const etk::Color<>& _color, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const etk::Color<float>& _color, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const etk::Color<uint16_t, 1>& _color, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const etk::Color<uint32_t, 1>& _color, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const etk::Color<float, 1>& _color, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const etk::Color<double, 1>& _color, const ivec2& _startPos=ivec2(0,0));
const ivec2& getSize() const;
int32_t getWidth() const;
int32_t getHeight() const;
ivec2 getGPUSize() const;
void clear(const etk::Color<>& _color);
void clear(const etk::Color<float>& _color);
void clear(const etk::Color<uint16_t, 1>& _color);
void clear(const etk::Color<uint32_t, 1>& _color);
void clear(const etk::Color<float, 1>& _color);
void clear(const etk::Color<double, 1>& _color);
etk::Color<> get(const ivec2& _pos) const;
/*
etk::Color<> getRGBA8(const ivec2& _pos) const;
etk::Color<float> getRGBAf(const ivec2& _pos) const;
uint16_t getU16(const ivec2& _pos) const;
uint32_t getU32(const ivec2& _pos) const;
float getFloat(const ivec2& _pos) const;
double getDouble(const ivec2& _pos) const;
*/
void set(const ivec2& _pos, const etk::Color<>& _newColor);
void set(const ivec2& _pos, const etk::Color<float>& _newColor);
void set(const ivec2& _pos, const etk::Color<uint16_t, 1>& _newColor);
void set(const ivec2& _pos, const etk::Color<uint32_t, 1>& _newColor);
void set(const ivec2& _pos, const etk::Color<float, 1>& _newColor);
void set(const ivec2& _pos, const etk::Color<double, 1>& _newColor);
void insert(const ivec2& _pos, const egami::Image& _input);
/**
* @brief Scale an image in an other dimention.
* @param[in] _size Destination size of the image.
* @TODO Set this function more capacity like not a multiple ratio...
*/
void scale(const ivec2& _size);
void set(const etk::Vector<etk::Color<float,4>>& _data, const ivec2& _size);
void set(const etk::Vector<etk::Color<uint8_t,4>>& _data, const ivec2& _size);
};
etk::Stream& operator <<(etk::Stream& _os, const egami::Image& _obj);
}

65
egami/ImageMono.cpp Normal file
View File

@ -0,0 +1,65 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <egami/ImageMono.hpp>
#include <egami/debug.hpp>
egami::ImageMono::ImageMono(const ivec2& _size) :
m_size(_size) {
// basic element :
uint8_t tmpBg(0);
// preallocate data with a basic bg elements :
m_data.resize(m_size.x()*m_size.y(), tmpBg);
if ((uint32_t)m_size.x()*m_size.y() > m_data.size()) {
EGAMI_ERROR("Allocation of data buffer in error");
return;
}
}
void egami::ImageMono::resize(const ivec2& _size, const uint8_t& _color) {
m_size=_size;
m_data.resize(m_size.x()*m_size.y(), _color);
}
void egami::ImageMono::resize(const ivec2& _size, const ivec2& _startPos) {
if (_size == m_size) {
// same size == > nothing to do ...
return;
}
// grow size :
egami::ImageMono tmpImage(*this);
m_size=_size;
uint8_t tmpBg(0);
m_data.resize(m_size.x()*m_size.y(), tmpBg);
for (int32_t jjj=0; jjj<m_size.y(); jjj++) {
for (int32_t iii=0; iii<m_size.y(); iii++) {
ivec2 tmppos(iii,jjj);
set(tmppos, tmpImage.get(tmppos));
}
}
}
void egami::ImageMono::clear(uint8_t _fill) {
for (int32_t iii=0; iii<m_size.x()*m_size.y(); iii++) {
m_data[iii] = _fill;
}
}
const uint8_t& egami::ImageMono::get(const ivec2& _pos) const {
static const uint8_t errorColor(0x00000000);
if( _pos.x()>0 && _pos.x()<m_size.x()
&& _pos.y()>0 && _pos.y()<m_size.y()) {
return m_data[_pos.x()+_pos.y()*m_size.x()];
}
return errorColor;
}
void egami::ImageMono::set(const ivec2& _pos, const uint8_t& _newColor) {
if( _pos.x()>=0 && _pos.x()<m_size.x()
&& _pos.y()>=0 && _pos.y()<m_size.y()) {
m_data[_pos.x()+_pos.y()*m_size.x()] = _newColor;
}
}

55
egami/ImageMono.hpp Normal file
View File

@ -0,0 +1,55 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <etk/types.hpp>
#include <etk/math/Vector2D.hpp>
#include <etk/Color.hpp>
#include <etk/Vector.hpp>
namespace egami {
class ImageMono {
private:
ivec2 m_size;
etk::Vector<uint8_t> m_data;
public:
// constructor :
ImageMono(const ivec2& _size=ivec2(32,32));
// destructor
~ImageMono() { };
// EWOL internal API for Texture system :
public:
void* getTextureDataPointer() const {
return (void*)&m_data[0];
};
/*
enum colorType getType() {
return egami::colorType::unsignedInt8;
};
*/
// -----------------------------------------------
// -- basic tools :
// -----------------------------------------------
public :
void resize(const ivec2& _size, const ivec2& _startPos=ivec2(0,0));
void resize(const ivec2& _size, const uint8_t& _color);
const ivec2& getSize() const {
return m_size;
};
int32_t getWidth() const {
return m_size.x();
};
int32_t getHeight() const {
return m_size.y();
};
void clear(uint8_t _fill);
const uint8_t& get(const ivec2& _pos) const;
void set(const ivec2& _pos, const uint8_t& _newColor);
};
}

286
egami/ImagePrivate.hpp Normal file
View File

@ -0,0 +1,286 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <etk/types.hpp>
#include <etk/math/Vector2D.hpp>
#include <etk/Color.hpp>
#include <egami/debug.hpp>
#include <etk/Vector.hpp>
namespace egami {
template<typename EGAMI_TYPE_COLOR = etk::Color<>>
class ImageTemplate : public ImagePrivate {
private:
ivec2 m_size;
etk::Vector<EGAMI_TYPE_COLOR> m_data;
public:
// constructor :
ImageTemplate(const ivec2& _size=ivec2(32,32)) :
m_size(_size) {
// basic element:
etk::Color<> tmpBg(0,0,0,0);
// preallocate data with a basic bg elements:
m_data.resize(m_size.x()*m_size.y(), tmpBg);
if ((uint32_t)m_size.x()*m_size.y() > m_data.size()) {
//TK_ERROR("Allocation of data buffer in error");
return;
}
}
// destructor
virtual ~ImageTemplate() { };
// EWOL internal API for Texture system:
public:
void* getTextureDataPointer() const {
return (void*)&m_data[0];
};
enum colorType getType() const;
const ivec2& getSize() {
return m_size;
};
// -----------------------------------------------
// -- basic tools:
// -----------------------------------------------
public :
void resize2__(const ivec2& _size, const ivec2& _startPos=ivec2(0,0)) {
move(-_startPos);
if (_size == m_size) {
// same size == > nothing to do ...
return;
}
ivec2 oldSize = m_size;
m_size = _size;
if ((size_t)(m_size.x()*m_size.y()) > m_data.size()) {
m_data.resize(m_size.x()*m_size.y());
}
// grow size :
if (m_size.x() == oldSize.x()) {
if (m_size.y() < oldSize.y()) {
// Just remove lines ....
} else {
// just add lines
}
} else if (m_size.x() < oldSize.x()) {
if (m_size.y() <= oldSize.y()) {
for (int32_t yyy=0; yyy<m_size.y(); ++yyy) {
for (int32_t xxx=0; xxx<m_size.x(); ++xxx) {
m_data[yyy*m_size.x()+xxx] = m_data[yyy*oldSize.x()+xxx];
}
}
} else {
for (int32_t yyy=oldSize.y()-1; yyy>=0; --yyy) {
for (int32_t xxx=0; xxx<m_size.x(); ++xxx) {
m_data[yyy*m_size.x()+xxx] = m_data[yyy*oldSize.x()+xxx];
}
}
}
} else { // (m_size.x() > oldSize.x())
if (m_size.y() <= oldSize.y()) {
for (int32_t yyy=0; yyy<m_size.y(); ++yyy) {
for (int32_t xxx=0; xxx<oldSize.x(); ++xxx) {
m_data[yyy*m_size.x()+xxx] = m_data[yyy*oldSize.x()+xxx];
}
}
} else {
for (int32_t yyy=oldSize.y()-1; yyy>=0; --yyy) {
for (int32_t xxx=oldSize.x()-1; xxx>=0; --xxx) {
m_data[yyy*m_size.x()+xxx] = m_data[yyy*oldSize.x()+xxx];
}
}
}
}
if ((size_t)(m_size.x()*m_size.y()) < m_data.size()) {
m_data.resize(m_size.x()*m_size.y());
}
// Clean all Data outside old range:
// basic element:
etk::Color<> tmpBg(0,0,0,0);
for (int32_t yyy=oldSize.y(); yyy<m_size.y(); ++yyy) {
for (int32_t xxx=0; xxx<m_size.x(); ++xxx) {
set(ivec2(xxx,yyy), tmpBg);
}
if (yyy==oldSize.y()) {
for (int32_t xxx=0; xxx<m_size.x(); ++xxx) {
set(ivec2(xxx,yyy), etk::Color<>(m_data[(yyy-1)*oldSize.x()+xxx]));
}
}
}
for (int32_t xxx=oldSize.x(); xxx<m_size.x(); ++xxx) {
for (int32_t yyy=0; yyy<m_size.y(); ++yyy) {
set(ivec2(xxx,yyy), tmpBg);
}
if (xxx==oldSize.x()) {
for (int32_t yyy=0; yyy<m_size.y(); ++yyy) {
set(ivec2(xxx,yyy), etk::Color<>(m_data[yyy*oldSize.x()+oldSize.x()-1]));
}
}
}
}
void resize__(const ivec2& _size, const EGAMI_TYPE_COLOR& _color) {
m_size=_size;
m_data.resize(m_size.x()*m_size.y(), _color);
}
void move(const ivec2& _offset) {
for (int32_t xxx=0; xxx<m_size.x(); ++xxx) {
for (int32_t yyy=0; yyy<m_size.y(); ++yyy) {
set(ivec2(xxx,yyy), get(ivec2(xxx-_offset.x(),yyy-_offset.y())));
}
}
}
void resize(const ivec2& _size, const etk::Color<uint8_t, 4>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize(const ivec2& _size, const etk::Color<float, 4>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize(const ivec2& _size, const etk::Color<uint16_t, 1>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize(const ivec2& _size, const etk::Color<uint32_t, 1>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize(const ivec2& _size, const etk::Color<float, 1>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize(const ivec2& _size, const etk::Color<double, 1>& _color, const ivec2& _startPos) {
resize__(_size, _color);
}
void resize2(const ivec2& _size, const ivec2& _startPos) {
resize2__(_size, _startPos);
}
template<typename EGAMI_TYPE_COLOR_2> void resize(const ivec2& _size, const EGAMI_TYPE_COLOR_2& _color) {
EGAMI_TYPE_COLOR tmp(_color);
resize__(_size, tmp);
}
void set(const ivec2& _pos, const etk::Color<>& _newColor) {
set__(_pos, _newColor);
}
void set(const ivec2& _pos, const etk::Color<float>& _newColor) {
set__(_pos, _newColor);
}
void set(const ivec2& _pos, const etk::Color<uint16_t, 1>& _newColor) {
set__(_pos, _newColor);
}
void set(const ivec2& _pos, const etk::Color<uint32_t, 1>& _newColor) {
set__(_pos, _newColor);
}
void set(const ivec2& _pos, const etk::Color<float, 1>& _newColor) {
set__(_pos, _newColor);
}
void set(const ivec2& _pos, const etk::Color<double, 1>& _newColor) {
set__(_pos, _newColor);
}
const ivec2& getSize() const {
return m_size;
};
int32_t getWidth() const {
return m_size.x();
};
int32_t getHeight() const {
return m_size.y();
};
void clearColor(const EGAMI_TYPE_COLOR& _fill) {
for (int32_t iii=0; iii<m_size.x()*m_size.y(); iii++) {
m_data[iii] = _fill;
}
}
void clear() {
clearColor(EGAMI_TYPE_COLOR::emptyColor);
}
etk::Color<> get(const ivec2& _pos) const {
return get__(_pos);
}
const EGAMI_TYPE_COLOR& get__(const ivec2& _pos) const {
static const EGAMI_TYPE_COLOR errorColor(0x00000000);
if( _pos.x()>=0 && _pos.x()<m_size.x()
&& _pos.y()>=0 && _pos.y()<m_size.y()) {
return m_data[_pos.x()+_pos.y()*m_size.x()];
}
return errorColor;
}
void set__(const ivec2& _pos, const EGAMI_TYPE_COLOR& _newColor) {
if( _pos.x()>=0 && _pos.x()<m_size.x()
&& _pos.y()>=0 && _pos.y()<m_size.y()) {
m_data[_pos.x()+_pos.y()*m_size.x()] = _newColor;
}
}
void insert(const ivec2& _pos, const ImageTemplate<EGAMI_TYPE_COLOR>& _input) {
for(int32_t yyy = 0; yyy < _input.getSize().y() && _pos.y() + yyy < m_size.y(); ++yyy) {
for(int32_t xxx = 0; xxx < _input.getSize().x() && _pos.x() + xxx < m_size.x(); ++xxx) {
set(ivec2(_pos.x()+xxx, _pos.y()+yyy), _input.get(ivec2(xxx, yyy)) );
}
}
}
/**
* @brief Scale an image in an other dimention.
* @param[in] _size Destination size of the image.
* @TODO Set this function more capacity like not a multiple ratio...
*/
void scale(const ivec2& _size) {
// TODO : Add capabilities ...
int32_t stepX = m_size.x() / _size.x();
int32_t stepY = m_size.y() / _size.y();
stepX = etk::max(1, stepX);
stepY = etk::max(1, stepY);
EGAMI_VERBOSE("move : " << stepX << " , " << stepY << " from : " << m_size << " ==> " << _size);
for (int32_t yyy = 0; yyy < _size.y(); ++yyy) {
for (int32_t xxx = 0; xxx < _size.x(); ++xxx) {
set(ivec2(xxx, yyy), get(ivec2(xxx*stepX, yyy*stepY)));
}
}
resize(_size);
}
void set(const etk::Vector<etk::Color<float,4>>& _data, const ivec2& _size) {
m_data.clear();
m_size = _size;
m_data.resize(_data.size());
for (size_t iii=0; iii<m_data.size(); ++iii) {
m_data[iii] = _data[iii];
}
}
void set(const etk::Vector<etk::Color<uint8_t,4>>& _data, const ivec2& _size) {
m_data.clear();
m_size = _size;
m_data.resize(_data.size());
for (size_t iii=0; iii<m_data.size(); ++iii) {
m_data[iii] = _data[iii];
}
}
};
template <> enum colorType ImageTemplate<etk::Color<uint8_t>>::getType() const {
return egami::colorType::RGBA8;
}
template <> enum colorType ImageTemplate<etk::Color<uint8_t, 3>>::getType() const {
return egami::colorType::RGB8;
}
template <> enum colorType ImageTemplate<etk::Color<float>>::getType() const {
return egami::colorType::RGBAf;
}
template <> enum colorType ImageTemplate<etk::Color<float, 3>>::getType() const {
return egami::colorType::RGBf;
}
template <> enum colorType ImageTemplate<etk::Color<uint16_t, 1>>::getType() const {
return egami::colorType::unsignedInt16;
}
template <> enum colorType ImageTemplate<etk::Color<uint32_t, 1>>::getType() const {
return egami::colorType::unsignedInt32;
}
template <> enum colorType ImageTemplate<etk::Color<float, 1>>::getType() const {
return egami::colorType::float32;
}
template <> enum colorType ImageTemplate<etk::Color<double, 1>>::getType() const {
return egami::colorType::float64;
}
};

12
egami/debug.cpp Normal file
View File

@ -0,0 +1,12 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <egami/debug.hpp>
int32_t egami::getLogId() {
static int32_t g_val = elog::registerInstance("egami");
return g_val;
}

37
egami/debug.hpp Normal file
View File

@ -0,0 +1,37 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <elog/log.hpp>
namespace egami {
int32_t getLogId();
};
#define EGAMI_BASE(info,data) ELOG_BASE(egami::getLogId(),info,data)
#define EGAMI_CRITICAL(data) EGAMI_BASE(1, data)
#define EGAMI_ERROR(data) EGAMI_BASE(2, data)
#define EGAMI_WARNING(data) EGAMI_BASE(3, data)
#ifdef DEBUG
#define EGAMI_INFO(data) EGAMI_BASE(4, data)
#define EGAMI_DEBUG(data) EGAMI_BASE(5, data)
#define EGAMI_VERBOSE(data) EGAMI_BASE(6, data)
#define EGAMI_TODO(data) EGAMI_BASE(4, "TODO : " << data)
#else
#define EGAMI_INFO(data) do { } while(false)
#define EGAMI_DEBUG(data) do { } while(false)
#define EGAMI_VERBOSE(data) do { } while(false)
#define EGAMI_TODO(data) do { } while(false)
#endif
#define EGAMI_ASSERT(cond,data) \
do { \
if (!(cond)) { \
EGAMI_CRITICAL(data); \
assert(!#cond); \
} \
} while (0)

333
egami/egami.cpp Normal file
View File

@ -0,0 +1,333 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <egami/egami.hpp>
#include <egami/debug.hpp>
#ifdef EGAMI_BUILD_ESVG
#include <egami/wrapperSVG.hpp>
#endif
#ifdef EGAMI_BUILD_PNG
#include <egami/wrapperPNG.hpp>
#endif
#include <egami/wrapperBMP.hpp>
#include <egami/wrapperEDF.hpp>
#ifdef EGAMI_BUILD_JPEG
#include <egami/wrapperJPG.hpp>
#endif
#ifdef EGAMI_BUILD_JPEG2000
#include <egami/wrapperJPG2000.hpp>
#endif
#ifdef EGAMI_BUILD_TIFF
#include <egami/wrapperTIFF.hpp>
#endif
#include <edtaa3/edtaa3func.h>
bool egami::scalable(const etk::Uri& _uri) {
if (etk::toLower(_uri.getPath().getExtention()) == "svg") {
return true;
}
return false;
}
egami::Image egami::load(const etk::Uri& _uri, const ivec2& _size) {
etk::String extention = etk::toLower(_uri.getPath().getExtention());
egami::Image out;
// select the corect Loader :
EGAMI_ERROR("parse file '" << _uri << "' extention=" << extention);
if (extention == "edf") {
// internal format for ewol distance field ==> simple sistance field image
out = egami::loadEDF(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load EDF file '" << _uri << "'");
}
} else if (extention == "bmp") {
out = egami::loadBMP(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load BMP file '" << _uri << "'");
}
} else if (extention == "svg") {
#ifdef EGAMI_BUILD_ESVG
out = egami::loadSVG(_uri, _size);
if (out.exist() == false) {
EGAMI_ERROR("Error to load SVG file '" << _uri << "'");
}
#else
EGAMI_WARNING("egami not compile with the ESVG dependency for file '" << _uri << "'");
#endif
} else if (extention == "png") {
#ifdef EGAMI_BUILD_PNG
out = egami::loadPNG(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load PNG file '" << _uri << "'");
}
#else
EGAMI_WARNING("egami not compile with the PNG dependency for file '" << _uri << "'");
#endif
} else if (extention == "jpg") {
#ifdef EGAMI_BUILD_JPEG
out = egami::loadJPG(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load JPG file '" << _uri << "'");
}
#else
EGAMI_WARNING("egami not compile with the JPEG dependency for file '" << _uri << "'");
#endif
} else if (extention == "j2k") {
#ifdef EGAMI_BUILD_JPEG2000
out = egami::loadJPG2000(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load JPEG2000 file '" << _uri << "'");
}
#else
EGAMI_WARNING("egami not compile with the JPEG 2000 (openjpeg) dependency for file '" << _uri << "'");
#endif
} else if (extention == "tif") {
#ifdef EGAMI_BUILD_TIFF
out = egami::loadTIFF(_uri);
if (out.exist() == false) {
EGAMI_ERROR("Error to load TIFF file '" << _uri << "'");
}
#else
EGAMI_WARNING("egami not compile with the TIFF dependency for file '" << _uri << "'");
#endif
} else {
EGAMI_ERROR("Extention not managed '" << _uri << "' Sopported extention : .edf / .bmp / .svg / .png / .jpg / .j2k / .tif");
}
return out;
}
egami::Image egami::load(const etk::String& _mineType, const etk::Vector<uint8_t>& _buffer, const ivec2& _size) {
egami::Image out;
// select the corect Loader :
if (_mineType == "image/bmp") {
out = egami::loadBMP(_buffer);
if (out.exist() == false) {
EGAMI_ERROR("Error to load BMP file '" << _buffer.size() << "'");
}
}else if (_mineType == "image/png") {
#ifdef EGAMI_BUILD_PNG
out = egami::loadPNG(_buffer);
if (out.exist() == false) {
EGAMI_ERROR("Error to load PNG file '" << _buffer.size() << "'");
}
#else
EGAMI_WARNING("egami not compile with the PNG dependency for file '" << _buffer.size() << "'");
#endif
} else if (_mineType == "image/jpeg") {
#ifdef EGAMI_BUILD_JPEG
out = egami::loadJPG(_buffer);
if (out.exist() == false) {
EGAMI_ERROR("Error to load JPG file '" << _buffer.size() << "'");
}
#else
EGAMI_WARNING("egami not compile with the JPEG dependency for file '" << _buffer.size() << "'");
#endif
} else {
EGAMI_ERROR("Extention not managed '" << _mineType << "' Sopported extention : image/bmp, image/png, image/jpg");
}
return out;
}
bool egami::store(const egami::Image& _input, const etk::Uri& _uri) {
etk::String extention = etk::toLower(_uri.getPath().getExtention());
EGAMI_DEBUG("Store file : " << _uri);
// select the corect Loader :
if (extention == "edf") {
if (egami::storeEDF(_uri, _input) == false) {
EGAMI_ERROR("Error to store EDF file '" << _uri << "'");
return false;
}
} else if (extention == "bmp") {
if (egami::storeBMP(_uri, _input) == false) {
EGAMI_ERROR("Error to store BMP file '" << _uri << "'");
return false;
}
} else if (extention == "svg") {
EGAMI_ERROR("Can not store in SVG file '" << _uri << "'");
return false;
} else if (extention == "png") {
#ifdef EGAMI_BUILD_PNG
if (egami::storePNG(_uri, _input) == false) {
EGAMI_ERROR("Error to store PNG file '" << _uri << "'");
return false;
}
#else
EGAMI_WARNING("egami not compile with the PNG dependency for file '" << _uri << "'");
return false;
#endif
} else if (extention == "jpg") {
#ifdef EGAMI_BUILD_JPEG
if (egami::storeJPG(_uri, _input) == false) {
EGAMI_ERROR("Error to store JPEG file '" << _uri << "'");
return false;
}
#else
EGAMI_WARNING("egami not compile with the JPEG dependency for file '" << _uri << "'");
return false;
#endif
} else if (extention == "j2k") {
EGAMI_ERROR("Can not store in JPEG 2000 file '" << _uri << "'");
return false;
} else if (extention == "tif") {
EGAMI_ERROR("Can not store in TIFF file '" << _uri << "'");
return false;
} else {
EGAMI_ERROR("Extention not managed '" << _uri << "' Sopported extention: .edf / .bmp / .svg / .png / .jpg / .j2k / .tif");
return false;
}
return true;
}
bool egami::store(const egami::Image& _input, etk::Vector<uint8_t>& _buffer, const etk::String& _mineType) {
// clear output data.
_buffer.clear();
// select the corect Loader :
if (_mineType == "image/bmp") {
if (egami::storeBMP(_buffer, _input) == false) {
EGAMI_ERROR("Error to store BMP for Raw output");
return false;
}
}else if (_mineType == "image/png") {
#ifdef EGAMI_BUILD_PNG
if (egami::storePNG(_buffer, _input) == false) {
EGAMI_ERROR("Error to store PNG for Raw output");
return false;
}
#else
EGAMI_WARNING("egami not compile with the PNG dependency for Raw output");
return false;
#endif
} else if (_mineType == "image/jpeg") {
#ifdef EGAMI_BUILD_JPEG
if (egami::storeJPG(_buffer, _input) == false) {
EGAMI_ERROR("Error to store JPG for Raw output");
return false;
}
#else
EGAMI_WARNING("egami not compile with the JPG dependency for Raw output");
return false;
#endif
return false;
} else {
EGAMI_ERROR("Extention not managed for Raw output Sopported extention: .bmp / .png / .jpg");
return false;
}
return true;
}
static void generateDistanceField(const egami::ImageMono& _input, egami::Image& _output) {
int32_t size = _input.getSize().x() * _input.getSize().y();
etk::Vector<short> xdist(size);
etk::Vector<short> ydist(size);
etk::Vector<double> gx(size);
etk::Vector<double> gy(size);
etk::Vector<double> data(size);
etk::Vector<double> outside(size);
etk::Vector<double> inside(size);
/*
// Convert img into double (data)
double img_min = 255, img_max = -255;
for (int32_t yyy = 0; yyy < _input.getSize().y(); ++yyy) {
for (int32_t xxx = 0; xxx < _input.getSize().x(); ++xxx) {
int32_t iii = yyy * _input.getSize().x() + xxx;
double v = _input.get(ivec2(xxx, yyy));
data[iii] = v;
if (v > img_max) {
img_max = v;
}
if (v < img_min) {
img_min = v;
}
}
}
// Rescale image levels between 0 and 1
for (int32_t yyy = 0; yyy < _input.getSize().y(); ++yyy) {
for (int32_t xxx = 0; xxx < _input.getSize().x(); ++xxx) {
int32_t iii = yyy * _input.getSize().x() + xxx;
data[iii] = (_input.get(ivec2(xxx, yyy))-img_min)/img_max;
}
}
// Compute outside = edtaa3(bitmap); % Transform background (0's)
computegradient(&data[0], _input.getSize().x(), _input.getSize().y(), &gx[0], &gy[0]);
edtaa3(&data[0], &gx[0], &gy[0], _input.getSize().x(), _input.getSize().y(), &xdist[0], &ydist[0], &outside[0]);
for(size_t iii = 0; iii < outside.size(); ++iii) {
if( outside[iii] < 0 ) {
outside[iii] = 0.0;
}
}
// Compute inside = edtaa3(1-bitmap); % Transform foreground (1's)
for(size_t iii = 0; iii < gx.size(); ++iii) {
gx[iii] = 0;
}
for(size_t iii = 0; iii < gy.size(); ++iii) {
gy[iii] = 0;
}
for(size_t iii = 0; iii < data.size(); ++iii) {
data[iii] = 1 - data[iii];
}
computegradient( &data[0], _input.getSize().x(), _input.getSize().y(), &gx[0], &gy[0]);
edtaa3(&data[0], &gx[0], &gy[0], _input.getSize().x(), _input.getSize().y(), &xdist[0], &ydist[0], &inside[0]);
for(size_t iii = 0; iii < inside.size(); ++iii) {
if( inside[iii] < 0 ) {
inside[iii] = 0.0;
}
}
_output.resize(_input.getSize(), etk::Color<>(0));
_output.clear(etk::Color<>(0));
for (int32_t xxx = 0; xxx < _output.getSize().x(); ++xxx) {
for (int32_t yyy = 0; yyy < _output.getSize().y(); ++yyy) {
int32_t iii = yyy * _output.getSize().x() + xxx;
outside[iii] -= inside[iii];
outside[iii] = 128+outside[iii]*16;
if( outside[iii] < 0 ) {
outside[iii] = 0;
}
if( outside[iii] > 255 ) {
outside[iii] = 255;
}
uint8_t val = 255 - (unsigned char) outside[iii];
// TODO : Remove multiple size of the map ...
_output.set(ivec2(xxx, yyy), etk::Color<>((int32_t)val,(int32_t)val,(int32_t)val,(int32_t)val));
}
}
*/
}
bool egami::generateDistanceFieldFile(const etk::Uri& _input, const etk::Uri& _output) {
egami::Image data;
etk::String extention = etk::toLower(_input.getPath().getExtention());
if (extention == "edf") {
return false;
}
EGAMI_ERROR("Generate distance field : '" << _input << "' ==> '" << _output << "'");
data = egami::load(_input, ivec2(64*5,64*5));
if (data.exist() == false) {
return false;
}
// Generate distance field:
egami::ImageMono input;
/*
input.resize(data.getSize());
for (int32_t yyy = 0; yyy < data.getSize().y(); ++yyy) {
for (int32_t xxx = 0; xxx < data.getSize().x(); ++xxx) {
input.set(ivec2(xxx, yyy), data.get(ivec2(xxx, yyy)).a() );
}
}
*/
generateDistanceField(input, data);
// scale:
data.scale(ivec2(64,64));
// store:
return egami::store(data, _output);
}

61
egami/egami.hpp Normal file
View File

@ -0,0 +1,61 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <etk/types.hpp>
#include <etk/Vector.hpp>
#include <etk/math/Vector2D.hpp>
#include <etk/Color.hpp>
#include <egami/Image.hpp>
#include <egami/ImageMono.hpp>
#include <etk/uri/Uri.hpp>
namespace egami {
/**
* @brief Load a specific ilage file in the requested image data.
* @param[in] _uri Uri of the file (SVG, BMP, PNG).
* @param[in] _size Dimention of the file when resizable (SVG).
*/
egami::Image load(const etk::Uri& _uri, const ivec2& _size=ivec2(-1,-1) );
/**
* @brief Load a specific ilage file in the requested image data.
* @param[in] _mineType mineType of the buffer.
* @param[in] _buffer memory file.
* @param[in] _size Dimention of the file when resizable (SVG).
*/
egami::Image load(const etk::String& _mineType, const etk::Vector<uint8_t>& _buffer, const ivec2& _size=ivec2(-1,-1) );
/**
* @brief Save an image in a file.
* @param[in] _input Data of the image.
* @param[in] _uri Uri of the file.
* @return true if the file is corectly Stored, false otherwise
*/
bool store(const egami::Image& _input, const etk::Uri& _uri);
/**
* @brief Save an image in a memory buffer.
* @param[in] _input Data of the image.
* @param[out] _buffer Store file in this buffer.
* @param[in] _mineType mineType of the output buffer.
* @return true if the file is corectly Stored, false otherwise
*/
bool store(const egami::Image& _input, etk::Vector<uint8_t>& _buffer, const etk::String& _mineType);
/**
* @brief know if a file can have multiple size definition.
* @param[in] _uri Uri of the file.
* @return true if the format is scalable.
*/
bool scalable(const etk::Uri& _uri);
/**
* @brief Generate a distance field output file from an input file;
* @param[in] _input Input file name
* @param[in] _output Output file name
* @return true All done corectly.
* @return false An error occured.
*/
bool generateDistanceFieldFile(const etk::Uri& _input, const etk::Uri& _output);
}

528
egami/wrapperBMP.cpp Normal file
View File

@ -0,0 +1,528 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperBMP.hpp>
#include <etk/uri/uri.hpp>
extern "C" {
#pragma pack(push,1)
struct bitmapFileHeader {
int16_t bfType;
int32_t bfSize;
int32_t bfReserved;
int32_t bfOffBits;
};
struct bitmapInfoHeader {
int32_t biSize;
int32_t biWidth;
int32_t biHeight;
int16_t biPlanes;
int16_t biBitCount;
int32_t biCompression;
int32_t biSizeImage;
int32_t biXPelsPerMeter;
int32_t biYPelsPerMeter;
int32_t biPaletteNumber;
int32_t biImportantColor;
};
struct bitmapInfoHeaderExtended {
int32_t biSize;
int32_t biWidth;
int32_t biHeight;
int16_t biPlanes;
int16_t biBitCount;
int32_t biCompression;
int32_t biSizeImage;
int32_t biXPelsPerMeter;
int32_t biYPelsPerMeter;
// https://en.wikipedia.org/wiki/BMP_file_format / example 2
int32_t biPaletteNumber;
int32_t biImportantColor;
int32_t biLCSColorSpace; // This is at this position, inspection of "gimp" output ...
int32_t biBitMaskRed;
int32_t biBitMaskGreen;
int32_t biBitMaskBlue;
int32_t biBitMaskAlpha;
int32_t biUnused[12];
};
#pragma pack(pop)
}
enum modeBitmap {
BITS_16_R5G6B5,
BITS_16_X1R5G5B5,
BITS_24_R8G8B8,
BITS_32_X8R8G8B8,
BITS_32_A8R8G8B8
};
static void display(struct bitmapFileHeader _header, struct bitmapInfoHeader _info) {
EGAMI_DEBUG(" -----------------------------------------------------------");
EGAMI_DEBUG("Display caracteristic of the bitmap : ");
EGAMI_DEBUG(" Header of file :");
EGAMI_DEBUG(" bfType =" << _header.bfType << " 19778 : must always be set to 'BM' to declare that this is a .bmp-file.");
EGAMI_DEBUG(" bfSize =" << _header.bfSize << " specifies the size of the file in bytes.");
EGAMI_DEBUG(" bfReserved=" << _header.bfReserved << " must always be set to zero.");
EGAMI_DEBUG(" bfOffBits =" << _header.bfOffBits << " 1078 : specifies the offset from the beginning of the file to the bitmap data.");
EGAMI_DEBUG(" info header of file :");
EGAMI_DEBUG(" biSize =" << _info.biSize << " specifies the size of the BITMAPINFOHEADER structure, in bytes.");
EGAMI_DEBUG(" biWidth =" << _info.biWidth << " specifies the width of the image, in pixels.");
EGAMI_DEBUG(" biHeight =" << _info.biHeight << " specifies the height of the image, in pixels.");
EGAMI_DEBUG(" biPlanes =" << _info.biPlanes << " specifies the number of planes of the target device, must be set to zero.");
EGAMI_DEBUG(" biBitCount =" << _info.biBitCount << " specifies the number of bits per pixel.");
EGAMI_DEBUG(" biCompression =" << _info.biCompression << " Specifies the type of compression, usually set to zero (no compression).");
EGAMI_DEBUG(" biSizeImage =" << _info.biSizeImage << " specifies the size of the image data, in bytes. If there is no compression, it is valid to set this member to zero.");
EGAMI_DEBUG(" biXPelsPerMeter=" << _info.biXPelsPerMeter << " specifies the the horizontal pixels per meter on the designated targer device, usually set to zero.");
EGAMI_DEBUG(" biYPelsPerMeter=" << _info.biYPelsPerMeter << " specifies the the vertical pixels per meter on the designated targer device, usually set to zero.");
EGAMI_DEBUG(" biClrUsed =" << _info.biPaletteNumber << " Pallet color number.");
EGAMI_DEBUG(" biClrImportant =" << _info.biImportantColor << " Important color ID.");
/*
EGAMI_DEBUG("Bitmap : " << m_width << "x" << m_height);
switch(m_dataMode)
{
case BITS_16_R5G6B5:
EGAMI_DEBUG(" mode = 16 bits R5G6B5");
break;
case BITS_16_X1R5G5B5:
EGAMI_DEBUG(" mode = 16 bits X1R5G5B5");
break;
case BITS_24_R8G8B8:
EGAMI_DEBUG(" mode = 24 bits R8G8B8");
break;
case BITS_32_X8R8G8B8:
EGAMI_DEBUG(" mode = 32 bits X8R8G8B8");
break;
case BITS_32_A8R8G8B8:
EGAMI_DEBUG(" mode = 32 bits A8R8G8B8");
break;
default:
EGAMI_DEBUG(" mode = ERROR");
break;
}*/
}
egami::Image egami::loadBMP(const etk::Uri& _uri) {
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return egami::Image();
}
if (fileIo->open(etk::io::OpenMode::Read) == false) {
EGAMI_ERROR("Can not open (r) the file : " << _uri);
return egami::Image();
}
etk::Vector<uint8_t> allData = fileIo->readAll<uint8_t>();
fileIo->close();
return egami::loadBMP(allData);
}
egami::Image egami::loadBMP(const etk::Vector<uint8_t>& _buffer) {
egami::Image out;
enum modeBitmap m_dataMode = BITS_16_R5G6B5;
int32_t m_width = 0;
int32_t m_height = 0;
struct bitmapFileHeader m_FileHeader;
bool useExtended = false;
struct bitmapInfoHeader m_InfoHeader;
struct bitmapInfoHeaderExtended m_InfoHeaderExtended;
if (_buffer.size() < sizeof(struct bitmapFileHeader)) {
EGAMI_ERROR("error loading file header, not enough data");
return out;
}
memcpy(&m_FileHeader, &_buffer[0], sizeof(struct bitmapFileHeader));
// check the header error :
if (m_FileHeader.bfType != 0x4D42) {
EGAMI_ERROR("the Buffer is not a bitmap file ... " << m_FileHeader.bfType << " != " << 0x4D42);
return out;
}
if (m_FileHeader.bfOffBits > sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeader)) {
EGAMI_DEBUG("Read bitmap in EXTENDED mode ...");
if (_buffer.size() < sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeaderExtended)) {
EGAMI_ERROR("error loading file header, not enough data");
return out;
}
memcpy(&m_InfoHeaderExtended, &_buffer[sizeof(struct bitmapFileHeader)], sizeof(struct bitmapInfoHeaderExtended));
useExtended = true;
m_InfoHeader.biSize = m_InfoHeaderExtended.biSize;
m_InfoHeader.biWidth = m_InfoHeaderExtended.biWidth;
m_InfoHeader.biHeight = m_InfoHeaderExtended.biHeight;
m_InfoHeader.biHeight = m_InfoHeaderExtended.biHeight;
m_InfoHeader.biHeight = m_InfoHeaderExtended.biHeight;
m_InfoHeader.biBitCount = m_InfoHeaderExtended.biBitCount;
m_InfoHeader.biCompression = m_InfoHeaderExtended.biCompression;
m_InfoHeader.biSizeImage = m_InfoHeaderExtended.biSizeImage;
m_InfoHeader.biXPelsPerMeter = m_InfoHeaderExtended.biXPelsPerMeter;
m_InfoHeader.biYPelsPerMeter = m_InfoHeaderExtended.biYPelsPerMeter;
} else {
EGAMI_DEBUG("Read bitmap in BASIC mode ...");
if (_buffer.size() < sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeader)) {
EGAMI_ERROR("error loading file header, not enough data");
return out;
}
memcpy(&m_InfoHeader, &_buffer[sizeof(struct bitmapFileHeader)], sizeof(struct bitmapInfoHeader));
useExtended = false;
}
int32_t offsetHeader = m_FileHeader.bfOffBits;
display(m_FileHeader, m_InfoHeader);
// check the header error :
if (m_FileHeader.bfType != 0x4D42) {
EGAMI_ERROR("the Buffer is not a bitmap file ... " << m_FileHeader.bfType << " != " << 0x4D42);
return out;
}
if (m_FileHeader.bfReserved != 0x00000000) {
EGAMI_ERROR("the bfReserved feald is not at 0 == > not supported format ...");
return out;
}
m_width = m_InfoHeader.biWidth;
m_height = m_InfoHeader.biHeight;
if( m_InfoHeader.biBitCount == 16
&& m_InfoHeader.biCompression == 0) {
m_dataMode = BITS_16_X1R5G5B5;
out.configure(ivec2(m_width,m_height), egami::colorType::RGB8);
} else if( m_InfoHeader.biBitCount == 16
&& m_InfoHeader.biCompression == 3) {
m_dataMode = BITS_16_R5G6B5;
out.configure(ivec2(m_width,m_height), egami::colorType::RGB8);
} else if( m_InfoHeader.biBitCount == 24
&& m_InfoHeader.biCompression == 0) {
m_dataMode = BITS_24_R8G8B8;
out.configure(ivec2(m_width,m_height), egami::colorType::RGB8);
} else if( m_InfoHeader.biBitCount == 32
&& m_InfoHeader.biCompression == 3) {
m_dataMode = BITS_32_X8R8G8B8;
out.configure(ivec2(m_width,m_height), egami::colorType::RGB8);
} else if( m_InfoHeader.biBitCount == 32
&& m_InfoHeader.biCompression == 0) {
m_dataMode = BITS_32_A8R8G8B8;
out.configure(ivec2(m_width,m_height), egami::colorType::RGBA8);
} else {
EGAMI_ERROR("the biBitCount & biCompression fealds are unknow == > not supported format ...");
return out;
}
if(m_InfoHeader.biSizeImage != 0) {
if (_buffer.size() < offsetHeader + m_InfoHeader.biSizeImage) {
EGAMI_CRITICAL("Can not read the file with the good size...");
}
}
etk::Color<> tmpColor(0,0,0,0);
// need now to generate RGBA data ...
switch(m_dataMode) {
case BITS_16_R5G6B5: {
const uint16_t * pointer = (const uint16_t*)(&_buffer[offsetHeader]);
for(int32_t yyy=0; yyy<m_height; yyy++) {
for(int32_t xxx=0; xxx<m_width; xxx++) {
tmpColor.setB((uint8_t)((*pointer & 0xF800) >> 8));
tmpColor.setG((uint8_t)((*pointer & 0x07E0) >> 3));
tmpColor.setR((uint8_t)(*pointer << 3));
tmpColor.setA(0xFF);
out.set(ivec2(xxx,m_height-yyy-1), tmpColor);
pointer++;
}
}
}
break;
case BITS_16_X1R5G5B5: {
const uint16_t * pointer = (const uint16_t*)(&_buffer[offsetHeader]);
for(int32_t yyy=0; yyy<m_height; yyy++) {
for(int32_t xxx=0; xxx<m_width; xxx++) {
tmpColor.setB((int8_t)((*pointer & 0x7C00) >> 7));
tmpColor.setG((int8_t)((*pointer & 0x03E0) >> 2));
tmpColor.setR((int8_t)(*pointer << 3));
tmpColor.setA(0xFF);
out.set(ivec2(xxx,m_height-yyy-1), tmpColor);
pointer++;
}
}
}
break;
case BITS_24_R8G8B8: {
int32_t offset = 0;
int32_t baseLine = m_width * 3;
if ((baseLine%4) == 1) {
offset = 3;
} else if ((baseLine%4) == 2) {
offset = 2;
} else if ((baseLine%4) == 3) {
offset = 1;
}
const uint8_t * pointer = (&_buffer[offsetHeader]);
for(int32_t yyy=0; yyy<m_height; yyy++) {
for(int32_t xxx=0; xxx<m_width; xxx++) {
tmpColor.setB(*pointer++);
tmpColor.setG(*pointer++);
tmpColor.setR(*pointer++);
tmpColor.setA(0xFF);
out.set(ivec2(xxx,m_height-yyy-1), tmpColor);
}
for(int32_t xxx=0; xxx<offset; xxx++) {
pointer++;
}
}
}
break;
case BITS_32_X8R8G8B8: {
const uint8_t * pointer = (&_buffer[offsetHeader]);
for(int32_t yyy=0; yyy<m_height; yyy++) {
for(int32_t xxx=0; xxx<m_width; xxx++) {
pointer++;
tmpColor.setB(*pointer++);
tmpColor.setG(*pointer++);
tmpColor.setR(*pointer++);
tmpColor.setA(0xFF);
out.set(ivec2(xxx,m_height-yyy-1), tmpColor);
}
}
}
break;
case BITS_32_A8R8G8B8: {
const uint8_t * pointer = (&_buffer[offsetHeader]);
for(int32_t yyy=0; yyy<m_height; yyy++) {
for(int32_t xxx=0; xxx<m_width; xxx++) {
tmpColor.setB(*pointer++);
tmpColor.setG(*pointer++);
tmpColor.setR(*pointer++);
tmpColor.setA(*pointer++);
out.set(ivec2(xxx,m_height-yyy-1), tmpColor);
}
}
}
break;
default:
EGAMI_ERROR(" mode = ERROR");
break;
}
return out;
}
#if 1
// Extended mode
bool egami::storeBMP(const etk::Uri& _uri, const egami::Image& _inputImage) {
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return false;
}
if (fileIo->open(etk::io::OpenMode::Write) == false) {
EGAMI_ERROR("Can not open (w) the file : " << _uri);
return false;
}
etk::Vector<uint8_t> allData;
bool ret = storeBMP(allData, _inputImage);
fileIo->writeAll(allData);
fileIo->close();
return ret;
}
bool egami::storeBMP(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage) {
_buffer.clear();
_buffer.reserve( _inputImage.getSize().x()*_inputImage.getSize().y()*getFormatColorSize(_inputImage.getType())
+ sizeof(struct bitmapInfoHeaderExtended)
+ sizeof(struct bitmapFileHeader));
struct bitmapFileHeader m_FileHeader;
struct bitmapInfoHeaderExtended m_InfoHeaderExtended;
memset(&m_InfoHeaderExtended, 0, sizeof(bitmapInfoHeaderExtended));
m_FileHeader.bfType = 0x4D42;
m_FileHeader.bfSize = sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeaderExtended);
m_FileHeader.bfReserved = 0;
m_FileHeader.bfOffBits = sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeaderExtended);
//EGAMI_ERROR("plopppppppppppppp " << m_FileHeader.bfOffBits);
m_InfoHeaderExtended.biSize = sizeof(struct bitmapInfoHeaderExtended);
m_InfoHeaderExtended.biWidth = _inputImage.getSize().x();
m_InfoHeaderExtended.biHeight = _inputImage.getSize().y();
m_InfoHeaderExtended.biPlanes = 1;
int32_t offset = 0;
if (_inputImage.getType() == egami::colorType::RGBA8) {
m_InfoHeaderExtended.biBitCount = 32;
m_InfoHeaderExtended.biCompression = 0;
m_InfoHeaderExtended.biSizeImage = _inputImage.getSize().x()*_inputImage.getSize().y()*4;
} else {
m_InfoHeaderExtended.biBitCount = 24;
m_InfoHeaderExtended.biCompression = 0;
int32_t baseLine = _inputImage.getSize().x() * 3;
if ((baseLine%4) == 1) {
offset = 3;
} else if ((baseLine%4) == 2) {
offset = 2;
} else if ((baseLine%4) == 3) {
offset = 1;
}
m_InfoHeaderExtended.biSizeImage = (baseLine+offset)*_inputImage.getSize().y();
}
m_FileHeader.bfSize += m_InfoHeaderExtended.biSizeImage;
m_InfoHeaderExtended.biXPelsPerMeter = 72*39.3701+1;
m_InfoHeaderExtended.biYPelsPerMeter = 72*39.3701+1;
//m_InfoHeaderExtended.biClrUsed = 0;
//m_InfoHeaderExtended.biClrImportant = 0;
m_InfoHeaderExtended.biLCSColorSpace = 0x73524742; // "Win "
//display(m_FileHeader, m_InfoHeaderExtended);
m_InfoHeaderExtended.biBitMaskRed = 0x0000FF00;
m_InfoHeaderExtended.biBitMaskGreen = 0x00FF0000;
m_InfoHeaderExtended.biBitMaskBlue = 0xFF000000;
m_InfoHeaderExtended.biBitMaskAlpha = 0x000000FF;
_buffer.pushBack((uint8_t*)&m_FileHeader, sizeof(struct bitmapFileHeader));
_buffer.pushBack((uint8_t*)&m_InfoHeaderExtended, sizeof(struct bitmapInfoHeaderExtended));
/* TODO: Avec ca, ca ne fonctionne pas ... ==> check
if(fileName.fileSeek(m_FileHeader.bfOffBits, etk::FSN_SEEK_START) == false) {
EGAMI_ERROR("error with the 'bfOffBits' in the file named=\"" << fileName << "\"");
fileName.fileClose();
return false;
}
*/
if (_inputImage.getType() == egami::colorType::RGBA8) {
uint8_t data[16];
for(int32_t yyy=0; yyy<_inputImage.getSize().y(); ++yyy) {
for(int32_t xxx=0; xxx<_inputImage.getSize().x(); ++xxx) {
const etk::Color<>& tmpColor = _inputImage.get(ivec2(xxx,_inputImage.getSize().y()-yyy-1));
uint8_t* pointer = data;
*pointer++ = tmpColor.r();
*pointer++ = tmpColor.g();
*pointer++ = tmpColor.b();
*pointer++ = tmpColor.a();
_buffer.pushBack(data, 4);
}
}
} else {
uint8_t data[16];
for(int32_t yyy=0; yyy<_inputImage.getSize().y(); ++yyy) {
for(int32_t xxx=0; xxx<_inputImage.getSize().x(); ++xxx) {
const etk::Color<>& tmpColor = _inputImage.get(ivec2(xxx,_inputImage.getSize().y()-yyy-1));
uint8_t* pointer = data;
*pointer++ = tmpColor.b();
*pointer++ = tmpColor.g();
*pointer++ = tmpColor.r();
_buffer.pushBack(data, 3);
}
if (offset != 0) {
uint8_t pointer[4];
pointer[0] = 0;
pointer[1] = 0;
pointer[2] = 0;
pointer[3] = 0;
_buffer.pushBack(pointer, offset);
}
}
}
return true;
}
#else
// old mode:
bool egami::storeBMP(const etk::Uri& _uri, const egami::Image& _inputImage) {
struct bitmapFileHeader m_FileHeader;
struct bitmapInfoHeader m_InfoHeader;
memset(&m_InfoHeader, 0, sizeof(bitmapInfoHeader));
m_FileHeader.bfType = 0x4D42;
m_FileHeader.bfSize = sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeader);
m_FileHeader.bfReserved = 0;
m_FileHeader.bfOffBits = sizeof(struct bitmapFileHeader) + sizeof(struct bitmapInfoHeader);
//EGAMI_ERROR("plopppppppppppppp " << m_FileHeader.bfOffBits);
m_InfoHeader.biSize = sizeof(struct bitmapInfoHeader);
m_InfoHeader.biWidth = _inputImage.getSize().x();
m_InfoHeader.biHeight = _inputImage.getSize().y();
m_InfoHeader.biPlanes = 1;
int32_t offset = 0;
if (_inputImage.getType() == egami::colorType::RGBA8) {
m_InfoHeader.biBitCount = 32;
m_InfoHeader.biCompression = 0;
m_InfoHeader.biSizeImage = _inputImage.getSize().x()*_inputImage.getSize().y()*4;
} else {
m_InfoHeader.biBitCount = 24;
m_InfoHeader.biCompression = 0;
int32_t baseLine = _inputImage.getSize().x() * 3;
if ((baseLine%4) == 1) {
offset = 3;
} else if ((baseLine%4) == 2) {
offset = 2;
} else if ((baseLine%4) == 3) {
offset = 1;
}
m_InfoHeader.biSizeImage = (baseLine+offset)*_inputImage.getSize().y();
}
m_FileHeader.bfSize += m_InfoHeader.biSizeImage;
m_InfoHeader.biXPelsPerMeter = 72*39.3701+1;
m_InfoHeader.biYPelsPerMeter = 72*39.3701+1;
//m_InfoHeader.biClrUsed = 0;
//m_InfoHeader.biClrImportant = 0;
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return false;
}
if (fileIo->open(etk::io::OpenMode::Write) == false) {
EGAMI_ERROR("Can not open (w) the file : " << _uri);
return false;
}
// Write header:
if (fileIo->write(&m_FileHeader,sizeof(struct bitmapFileHeader),1) != 1) {
EGAMI_ERROR("error loading file header");
fileIo->close();
return false;
}
if (fileIo->write(&m_InfoHeader,sizeof(struct bitmapInfoHeader),1) != 1) {
EGAMI_ERROR("error loading file header");
fileIo->close();
return false;
}
EGAMI_ERROR("header size = " << sizeof(struct bitmapFileHeader) << " + " << sizeof(struct bitmapInfoHeader) << " = " << (sizeof(struct bitmapFileHeader)+sizeof(struct bitmapInfoHeader)) );
/* TODO: Avec ca, ca ne fonctionne pas ... ==> check
if(fileName.fileSeek(m_FileHeader.bfOffBits, etk::FSN_SEEK_START) == false) {
EGAMI_ERROR("error with the 'bfOffBits' in the file named=\"" << fileName << "\"");
fileName.fileClose();
return false;
}
*/
if (_inputImage.getType() == egami::colorType::RGBA8) {
uint8_t data[16];
for(int32_t yyy=0; yyy<_inputImage.getSize().y(); ++yyy) {
for(int32_t xxx=0; xxx<_inputImage.getSize().x(); ++xxx) {
const etk::Color<>& tmpColor = _inputImage.get(ivec2(xxx,_inputImage.getSize().y()-yyy-1));
uint8_t* pointer = data;
*pointer++ = tmpColor.r();
*pointer++ = tmpColor.g();
*pointer++ = tmpColor.b();
*pointer++ = tmpColor.a();
fileIo->write(data,4,1);
}
}
} else {
uint8_t data[16];
for(int32_t yyy=0; yyy<_inputImage.getSize().y(); ++yyy) {
for(int32_t xxx=0; xxx<_inputImage.getSize().x(); ++xxx) {
const etk::Color<>& tmpColor = _inputImage.get(ivec2(xxx,_inputImage.getSize().y()-yyy-1));
uint8_t* pointer = data;
*pointer++ = tmpColor.b();
*pointer++ = tmpColor.g();
*pointer++ = tmpColor.r();
fileIo->write(data,3,1);
}
if (offset != 0) {
uint8_t pointer[4];
pointer[0] = 0;
pointer[1] = 0;
pointer[2] = 0;
pointer[3] = 0;
fileIo->write(pointer,1,offset);
}
}
}
fileIo->close();
return true;
}
#endif

39
egami/wrapperBMP.hpp Normal file
View File

@ -0,0 +1,39 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a bmp file in the image.
* @param[in] _uri Uri of the file.
* @return Generate image or empty image
*/
egami::Image loadBMP(const etk::Uri& _uri);
/**
* @breif Load a bmp file in the image.
* @param[in] _buffer file buffer
* @return Generate image or empty image
*/
egami::Image loadBMP(const etk::Vector<uint8_t>& _buffer);
/**
* @breif Store a bmp file in the image.
* @param[in] _uri Uri of the file.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storeBMP(const etk::Uri& _uri, const egami::Image& _inputImage);
/**
* @breif Store a bmp file in the image.
* @param[out] _buffer output file buffer.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storeBMP(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage);
}

121
egami/wrapperEDF.cpp Normal file
View File

@ -0,0 +1,121 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperEDF.hpp>
#include <etk/uri/uri.hpp>
//EDF format is a simple format for image in text for distance field image (special case)
// it is composed of the fist line : description of type (starting with #EDF and some other information, the data start just after the first \n
egami::Image egami::loadEDF(const etk::Uri& _uri) {
egami::Image out;
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return out;
}
if (fileIo->open(etk::io::OpenMode::Read) == false) {
EGAMI_ERROR("Can not open (r) the file : " << _uri);
return out;
}
etk::String line;
fileIo->gets(line);
if (etk::start_with(line, "#edf", false) == false) {
EGAMI_ERROR("This file seams not to be a EDF file ...");
fileIo->close();
return out;
}
// count number of colomn max an number of line max:
ivec2 size(0,0);
while (fileIo->gets(line) == true) {
if (line.size()/2 > (size_t)size.x()) {
size.setValue(line.size()/2, size.y()+1);
} else {
size += ivec2(0,1);
}
}
if (line.size()/2 > (size_t)size.x()) {
size.setValue(line.size()/2, size.y()+1);
} else {
size += ivec2(0,1);
}
EGAMI_DEBUG("'" << _uri << "' ==> size=" << size);
// jup to the start of the file
fileIo->seek(0, etk::io::SeekMode::Start);
// drop the first line
fileIo->gets(line);
// resize output:
out.configure(size, egami::colorType::RGB8); // TODO : Do it better
int32_t currentLineId = 0;
char tmp[3];
tmp[2] = '\0';
while (fileIo->gets(line) == true) {
if (line.size() <= 0) {
continue;
}
for (size_t xxx = 0; xxx < line.size()-1; xxx+=2) {
tmp[0] = line[xxx];
tmp[1] = line[xxx+1];
int32_t val = 0;
sscanf(tmp, "%x", &val);
out.set(ivec2(xxx/2, currentLineId), etk::Color<>((uint8_t)val, (uint8_t)val, (uint8_t)val, (uint8_t)val));
}
++currentLineId;
}
if (line.size() > 0) {
for (size_t xxx = 0; xxx < line.size()-1; xxx+=2) {
tmp[0] = line[xxx];
tmp[1] = line[xxx+1];
int32_t val = 0;
sscanf(tmp, "%x", &val);
out.set(ivec2(xxx/2, currentLineId), etk::Color<>((uint8_t)val, (uint8_t)val, (uint8_t)val, (uint8_t)val));
}
}
fileIo->close();
return out;
}
bool egami::storeEDF(const etk::Uri& _uri, const egami::Image& _inputImage) {
bool anErrorEccured = false;
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return false;
}
if (fileIo->open(etk::io::OpenMode::Write) == false) {
EGAMI_ERROR("Can not open (w) the file : " << _uri);
return false;
}
anErrorEccured = fileIo->puts( etk::String("#EDF // Generate with EGAMI (")
+ etk::toString(_inputImage.getSize().x())
+ ","
+ etk::toString(_inputImage.getSize().y()) + ")\n");
char tmp[256];
for (int32_t yyy = 0; yyy < _inputImage.getSize().y(); ++yyy) {
if (yyy != 0) {
if (fileIo->put('\n') == false) {
anErrorEccured = false;
}
}
for (int32_t xxx = 0; xxx < _inputImage.getSize().x(); ++xxx) {
sprintf(tmp, "%02X", _inputImage.get(ivec2(xxx, yyy)).a());
/*
if (yyy == 25) {
EGAMI_DEBUG(" set : " << _inputImage.get(ivec2(xxx, yyy)) << " : '" << tmp << "'");
}
*/
if (fileIo->puts(tmp) == false) {
anErrorEccured = false;
}
}
}
fileIo->close();
return anErrorEccured;
}

34
egami/wrapperEDF.hpp Normal file
View File

@ -0,0 +1,34 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a bmp file in the image.
* A simple example of EDF file is :
* [PRE]
* #EDF //Example Of EDF file (5,5)
* *
* * *
* * *
* * *
* *
* [PRE]
* @param[in] _uri Uri of the file.
* @return Read Image
*/
egami::Image loadEDF(const etk::Uri& _uri);
/**
* @breif Store a edf file in the image.
* @param[in] _uri Uri of the file.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storeEDF(const etk::Uri& _uri, const egami::Image& _inputImage);
}

301
egami/wrapperJPG.cpp Normal file
View File

@ -0,0 +1,301 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperJPG.hpp>
#include <etk/uri/uri.hpp>
extern "C" {
#include "jpeglib.h"
}
#include <setjmp.h>
struct my_error_mgr {
struct jpeg_error_mgr pub; /* "public" fields */
jmp_buf setjmp_buffer; /* for return to caller */
};
typedef struct my_error_mgr * my_error_ptr;
/*
* Here's the routine that will replace the standard error_exit method:
*/
METHODDEF(void) my_error_exit(j_common_ptr _cinfo) {
// cinfo->err really points to a my_error_mgr struct, so coerce pointer
my_error_ptr myerr = (my_error_ptr)_cinfo->err;
// Always display the message.
// We could postpone this until after returning, if we chose.
(*_cinfo->err->output_message)(_cinfo);
// Return control to the setjmp point
longjmp(myerr->setjmp_buffer, 1);
}
void put_scanline_someplace(const uint8_t* _buffer, int32_t _row_stride) {
EGAMI_ERROR("plop " << uint64_t(_buffer) << " row=" << _row_stride << " " << (_row_stride/3));
}
egami::Image egami::loadJPG(const etk::Uri& _uri) {
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return egami::Image();
}
if (fileIo->open(etk::io::OpenMode::Read) == false) {
EGAMI_ERROR("Can not open (r) the file : " << _uri);
return egami::Image();
}
etk::Vector<uint8_t> allData = fileIo->readAll<uint8_t>();
fileIo->close();
return egami::loadJPG(allData);
}
egami::Image egami::loadJPG(const etk::Vector<uint8_t>& _buffer) {
egami::Image out;
// This struct contains the JPEG decompression parameters and pointers to working space (which is allocated as needed by the JPEG library).
struct jpeg_decompress_struct cinfo;
// We use our private extension JPEG error handler. Note that this struct must live as long as the main JPEG parameter struct, to avoid dangling-pointer problems.
struct my_error_mgr jerr;
// More stuff
JSAMPARRAY buffer;
int row_stride;
// Step 1: allocate and initialize JPEG decompression object
// We set up the normal JPEG error routines, then override error_exit.
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = my_error_exit;
// Establish the setjmp return context for my_error_exit to use.
if (setjmp(jerr.setjmp_buffer)) {
// If we get here, the JPEG code has signaled an error. We need to clean up the JPEG object, close the input file, and return.
jpeg_destroy_decompress(&cinfo);
return out;
}
// Now we can initialize the JPEG decompression object.
jpeg_create_decompress(&cinfo);
// Step 2: specify data source (eg, a file)
jpeg_mem_src(&cinfo, &_buffer[0], _buffer.size());
// Step 3: read file parameters with jpeg_read_header()
(void)jpeg_read_header(&cinfo, TRUE);
// We can ignore the return value from jpeg_read_header since
// (a) suspension is not possible with the stdio data source, and
// (b) we passed TRUE to reject a tables-only JPEG file as an error.
// See libjpeg.txt for more info.
// Step 4: set parameters for decompression
// In this example, we don't need to change any of the defaults set by jpeg_read_header(), so we do nothing here.
// Step 5: Start decompressor
(void) jpeg_start_decompress(&cinfo);
// We can ignore the return value since suspension is not possible with the stdio data source.
// We may need to do some setup of our own at this point before reading the data.
// After jpeg_start_decompress() we have the correct scaled output image dimensions available, as well as the output colormap if we asked for color quantization.
// In this example, we need to make an output work buffer of the right size.
// JSAMPLEs per row in output buffer
row_stride = cinfo.output_width * cinfo.output_components;
// Make a one-row-high sample array that will go away when done with image
buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
// Step 6: while (scan lines remain to be read) jpeg_read_scanlines(...);
// Resize output image:
out.configure(ivec2(cinfo.output_width,cinfo.output_height), egami::colorType::RGB8);
uint8_t* dataOutPointer = (uint8_t*)out.getTextureDataPointer();
// Here we use the library's state variable cinfo.output_scanline as the loop counter, so that we don't have to keep track ourselves.
int32_t yyy = 0;
while (cinfo.output_scanline < cinfo.output_height) {
// Get a simple line:
(void) jpeg_read_scanlines(&cinfo, buffer, 1);
// Direst push on the output (got output format RGB8)
//uint8_t* tmpp = dataOutPointer + (row_stride*(cinfo.output_height-yyy));
uint8_t* tmpp = dataOutPointer + (row_stride*yyy);
memcpy(tmpp, buffer[0], row_stride);
yyy++;
}
// Step 7: Finish decompression
(void) jpeg_finish_decompress(&cinfo);
// We can ignore the return value since suspension is not possible with the stdio data source.
// Step 8: Release JPEG decompression object
// This is an important step since it will release a good deal of memory.
jpeg_destroy_decompress(&cinfo);
// At this point you may want to check to see whether any corrupt-data warnings occurred (test whether jerr.pub.num_warnings is nonzero).
return out;
}
static etk::Vector<JOCTET> myBuffer;
#define BLOCK_SIZE 16384
void myInitDestination(j_compress_ptr _cinfo) {
myBuffer.resize(BLOCK_SIZE);
_cinfo->dest->next_output_byte = &myBuffer[0];
_cinfo->dest->free_in_buffer = myBuffer.size();
}
boolean myEmptyOutputBuffer(j_compress_ptr _cinfo) {
size_t oldsize = myBuffer.size();
myBuffer.resize(oldsize + BLOCK_SIZE);
_cinfo->dest->next_output_byte = &myBuffer[oldsize];
_cinfo->dest->free_in_buffer = myBuffer.size() - oldsize;
return TRUE;
}
void myTermDestination(j_compress_ptr _cinfo) {
myBuffer.resize(myBuffer.size() - _cinfo->dest->free_in_buffer);
}
bool egami::storeJPG(const etk::Uri& _uri, const egami::Image& _inputImage) {
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return false;
}
if (fileIo->open(etk::io::OpenMode::Write) == false) {
EGAMI_ERROR("Can not open (w) the file : " << _uri);
return false;
}
etk::Vector<uint8_t> allData;
bool ret = storeJPG(allData, _inputImage);
fileIo->writeAll(allData);
fileIo->close();
return ret;
}
/*
* IMAGE DATA FORMATS:
*
* The standard input image format is a rectangular array of pixels, with
* each pixel having the same number of "component" values (color channels).
* Each pixel row is an array of JSAMPLEs (which typically are unsigned chars).
* If you are working with color data, then the color values for each pixel
* must be adjacent in the row; for example, R,G,B,R,G,B,R,G,B,... for 24-bit
* RGB color.
*
* For this example, we'll assume that this data structure matches the way
* our application has stored the image in memory, so we can just pass a
* pointer to our image buffer. In particular, let's say that the image is
* RGB color and is described by:
*/
//int quality = 250;
int quality = 200;
bool egami::storeJPG(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage) {
_buffer.clear();
/* This struct contains the JPEG compression parameters and pointers to
* working space (which is allocated as needed by the JPEG library).
* It is possible to have several such structures, representing multiple
* compression/decompression processes, in existence at once. We refer
* to any one struct (and its associated working data) as a "JPEG object".
*/
struct jpeg_compress_struct cinfo;
// We use our private extension JPEG error handler. Note that this struct must live as long as the main JPEG parameter struct, to avoid dangling-pointer problems.
struct my_error_mgr jerr;
/* More stuff */
int row_stride; /* physical row width in image buffer */
/* Step 1: allocate and initialize JPEG compression object */
// We set up the normal JPEG error routines, then override error_exit.
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = my_error_exit;
/* Now we can initialize the JPEG compression object. */
jpeg_create_compress(&cinfo);
/* Step 2: specify data destination (eg, a file) */
/* Note: steps 2 and 3 can be done in either order. */
/* Here we use the library-supplied code to send compressed data to a
* stdio stream. You can also write your own code to do something else.
* VERY IMPORTANT: use "b" option to fopen() if you are on a machine that
* requires it in order to write binary files.
*/
#if 0
FILE * outfile; /* target file */
if ((outfile = fopen(filename, "wb")) == NULL) {
fprintf(stderr, "can't open %s\n", filename);
exit(1);
}
jpeg_stdio_dest(&cinfo, outfile);
#else
/*
uint8_t* rgba = null;
unsigned long size = 0;
etk::Vector<uint8_t> buffer.
jpeg_mem_dest(jpegdata, &rgba, &size);
if(size > 0) {
buffer.resize(size);
for(ii=0; iii<size; ++iii) {
buffer[iii] = rgba[iii];
}
free(rgba);
rgba = null;
}
*/
jpeg_stdio_dest(&cinfo, null);
if (cinfo.dest == null) {
EGAMI_ERROR("Can not write the destination property callback");
return false;
}
cinfo.dest->init_destination = &myInitDestination;
cinfo.dest->empty_output_buffer = &myEmptyOutputBuffer;
cinfo.dest->term_destination = &myTermDestination;
#endif
// Step 3: set parameters for compression
// First we supply a description of the input image. Four fields of the cinfo struct must be filled in:
cinfo.image_width = _inputImage.getSize().x();
cinfo.image_height = _inputImage.getSize().y();
// # of color components per pixel
cinfo.input_components = getFormatColorSize(_inputImage.getType());
// colorspace of input image
cinfo.in_color_space = JCS_RGB;
/* Now use the library's routine to set default compression parameters.
* (You must set at least cinfo.in_color_space before calling this,
* since the defaults depend on the source color space.)
*/
jpeg_set_defaults(&cinfo);
/* Now you can set any non-default parameters you wish to.
* Here we just illustrate the use of quality (quantization table) scaling:
*/
jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */);
/* Step 4: Start compressor */
/* TRUE ensures that we will write a complete interchange-JPEG file.
* Pass TRUE unless you are very sure of what you're doing.
*/
jpeg_start_compress(&cinfo, TRUE);
/* Step 5: while (scan lines remain to be written) */
/* jpeg_write_scanlines(...); */
uint8_t * dataPointer = (uint8_t*)_inputImage.getTextureDataPointer();
while (cinfo.next_scanline < cinfo.image_height) {
/* jpeg_write_scanlines expects an array of pointers to scanlines.
* Here the array is only one element long, but you could pass
* more than one scanline at a time if that's more convenient.
*/
JSAMPROW tmp[1];
tmp[0] = &dataPointer[cinfo.next_scanline * cinfo.image_width * getFormatColorSize(_inputImage.getType())];
(void) jpeg_write_scanlines(&cinfo, tmp, 1);
}
/* Step 6: Finish compression */
jpeg_finish_compress(&cinfo);
/* Step 7: release JPEG compression object */
/* This is an important step since it will release a good deal of memory. */
jpeg_destroy_compress(&cinfo);
etk::swap(_buffer, myBuffer);
return true;
}

38
egami/wrapperJPG.hpp Normal file
View File

@ -0,0 +1,38 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a jpeg file in the image.
* @param[in] _uri Uri of the file.
* @return Read Image.
*/
egami::Image loadJPG(const etk::Uri& _uri);
/**
* @breif Load a jpeg file in the image.
* @param[in] _buffer file Buffer
* @return Read Image.
*/
egami::Image loadJPG(const etk::Vector<uint8_t>& _buffer);
/**
* @breif Store a jpg file in the image.
* @param[in] _uri Uri of the file.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storeJPG(const etk::Uri& _uri, const egami::Image& _inputImage);
/**
* @breif Store a jpg file in the image.
* @param[out] _buffer output file buffer.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storeJPG(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage);
}

17
egami/wrapperJPG2000.cpp Normal file
View File

@ -0,0 +1,17 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperJPG2000.hpp>
egami::Image egami::loadJPG2000(const etk::Uri& _uri) {
egami::Image out;
EGAMI_TODO("Read JPEG2000 file");
return out;
}

18
egami/wrapperJPG2000.hpp Normal file
View File

@ -0,0 +1,18 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a jpeg 2000 file in the image.
* @param[in] _uri Uri of the file.
* @return Read Image.
*/
egami::Image loadJPG2000(const etk::Uri& _uri);
}

489
egami/wrapperPNG.cpp Normal file
View File

@ -0,0 +1,489 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperPNG.hpp>
#include <etk/uri/uri.hpp>
#include <png/png.h>
namespace egami {
class ReaderInstance {
public:
virtual ~ReaderInstance() = default;
virtual void read(png_bytep _data, png_size_t _length) = 0;
virtual void write(png_bytep _data, png_size_t _length) = 0;
virtual void flush() = 0;
};
class ReaderInstancIOInterface : public egami::ReaderInstance {
private:
ememory::SharedPtr<etk::io::Interface> m_data;
public:
ReaderInstancIOInterface(const ememory::SharedPtr<etk::io::Interface>& _data):
m_data(_data) {
}
void read(png_bytep _data, png_size_t _length) override {
m_data->read(_data, 1, _length);
}
void write(png_bytep _data, png_size_t _length) override {
m_data->write(_data, 1, _length);
}
void flush() override {
m_data->flush();
}
};
class ReaderInstanceBuffer : public egami::ReaderInstance {
private:
etk::Vector<uint8_t>& m_data;
int32_t m_offset;
public:
ReaderInstanceBuffer(const etk::Vector<uint8_t>& _data, int32_t _offset):
m_data(const_cast<etk::Vector<uint8_t>&>(_data)),
m_offset(_offset) {
}
ReaderInstanceBuffer(etk::Vector<uint8_t>& _data):
m_data(_data),
m_offset(0) {
}
void read(png_bytep data, png_size_t length) override {
memcpy(data, &m_data[m_offset], length);
m_offset += length;
}
void write(png_bytep _data, png_size_t _length) override {
for (uint32_t iii=0; iii<_length; ++iii) {
m_data.pushBack(_data[iii]);
m_offset++;
}
}
void flush() override {
// nothing to do ...
}
};
}
// we must change the access of the IO of the png lib :
static void local_ReadData(png_structp _pngPtr, png_bytep _data, png_size_t _length) {
egami::ReaderInstance* instance = static_cast<egami::ReaderInstance*>(png_get_io_ptr(_pngPtr));
if (instance != null) {
instance->read(_data, _length);
}
}
static void Local_WriteData(png_structp _pngPtr, png_bytep _data, png_size_t _length) {
egami::ReaderInstance* instance = static_cast<egami::ReaderInstance*>(png_get_io_ptr(_pngPtr));
if (instance != null) {
instance->write(_data, _length);
}
}
static void local_FlushData(png_structp _pngPtr) {
egami::ReaderInstance* instance = static_cast<egami::ReaderInstance*>(png_get_io_ptr(_pngPtr));
if (instance != null) {
instance->flush();
}
}
void userErrorFunction(png_structp _pngPtr, png_const_charp _errorMsg) {
EGAMI_ERROR("libpng error: '" << _errorMsg << "'");
}
void userWarningFunction(png_structp _pngPtr, png_const_charp _warningMsg) {
EGAMI_WARNING("libpng warning: '" << _warningMsg << "'");
}
static egami::Image genericLoader(png_structp _pngPtr, png_infop _infoPtr) {
egami::Image out;
// If we have already read some of the signature
png_set_sig_bytes(_pngPtr, 8);
png_read_info(_pngPtr, _infoPtr);
png_uint_32 width = 0;
png_uint_32 height = 0;
int bit_depth = 0;
int colorType = 0;
int interlace_type = 0;
png_get_IHDR(_pngPtr, _infoPtr, &width, &height, &bit_depth, &colorType, &interlace_type, null, null);
// reallocate the image
EGAMI_ERROR("Load PNG image : (" << width << "," << height << ") bitDepth=" << bit_depth << " colorType=" << colorType);
switch (colorType) {
case PNG_COLOR_TYPE_RGBA:
out.configure(ivec2(width,height), egami::colorType::RGBA8);
break;
case PNG_COLOR_TYPE_RGB:
out.configure(ivec2(width,height), egami::colorType::RGB8);
break;
case PNG_COLOR_TYPE_GRAY:
out.configure(ivec2(width,height), egami::colorType::RGB8);
break;
case PNG_COLOR_TYPE_GRAY_ALPHA:
out.configure(ivec2(width,height), egami::colorType::RGBA8);
break;
default:
break;
}
// Tell libpng to strip 16 bits/color files down to 8 bits/color. Use accurate scaling if it's available, otherwise just chop off the low byte.
#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED
png_set_scale_16(_pngPtr);
#else
png_set_strip_16(_pngPtr);
#endif
// Strip alpha bytes from the input data without combining with the background (not recommended).
//png_set_strip_alpha(_pngPtr);
// Extract multiple pixels with bit depths of 1, 2, and 4 from a single byte into separate bytes (useful for paletted and grayscale images).
png_set_packing(_pngPtr);
// Change the order of packed pixels to least significant bit first (not useful if you are using png_set_packing).
png_set_packswap(_pngPtr);
/* Expand paletted colors into true RGB triplets */
if (colorType == PNG_COLOR_TYPE_PALETTE) {
png_set_palette_to_rgb(_pngPtr);
}
// Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel
if ( colorType == PNG_COLOR_TYPE_GRAY
&& bit_depth < 8) {
png_set_expand_gray_1_2_4_to_8(_pngPtr);
}
// Expand paletted or RGB images with transparency to full alpha channels so the data will be available as RGBA quartets.
if (png_get_valid(_pngPtr, _infoPtr, PNG_INFO_tRNS) != 0) {
png_set_tRNS_to_alpha(_pngPtr);
}
/* Set the background color to draw transparent and alpha images over.
* It is possible to set the red, green, and blue components directly
* for paletted images instead of supplying a palette index. Note that
* even if the PNG file supplies a background, you are not required to
* use it - you should use the (solid) application background if it has one.
*/
/*
png_color::16 my_background, *image_background;
if (png_get_bKGD(_pngPtr, _infoPtr, &image_background) != 0) {
png_set_background(_pngPtr, image_background, PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
} else {
png_set_background(_pngPtr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
}
*/
/* Optional call to gamma correct and add the background to the palette
* and update info structure. REQUIRED if you are expecting libpng to
* update the palette for you (ie you selected such a transform above).
*/
png_read_update_info(_pngPtr, _infoPtr);
// Allocate the memory to hold the image using the fields of _infoPtr.
// The easiest way to read the image:
png_bytep row_pointers[height];
/* Clear the pointer array */
for (png_uint_32 row = 0; row < height; row++) {
row_pointers[row] = null;
}
for (png_uint_32 row = 0; row < height; row++) {
row_pointers[row] = (png_bytep)png_malloc(_pngPtr, png_get_rowbytes(_pngPtr, _infoPtr));
}
png_read_image(_pngPtr, row_pointers);
// Read rest of file, and get additional chunks in _infoPtr - REQUIRED
png_read_end(_pngPtr, _infoPtr);
//png_set_expand(_pngPtr);
etk::Color<> tmpColor(0,0,0,0);
switch (colorType) {
case PNG_COLOR_TYPE_RGBA:
EGAMI_DEBUG("colorset: PNG_COLOR_TYPE_RGBA");
// Conversion to OpenGL texture
for (png_uint_32 yyy = 0; yyy < height; ++yyy) {
png_byte* row = row_pointers[yyy];
for (png_uint_32 xxx = 0; xxx < width; ++xxx) {
png_byte* ptr = &(row[xxx*4]);
tmpColor.set(ptr[0], ptr[1], ptr[2], ptr[3]);
out.set(ivec2(xxx,yyy), tmpColor);
}
}
break;
case PNG_COLOR_TYPE_RGB:
EGAMI_DEBUG("colorset: PNG_COLOR_TYPE_RGB");
// Conversion to OpenGL texture
for (png_uint_32 yyy = 0; yyy < height; ++yyy) {
png_byte* row = row_pointers[yyy];
for (png_uint_32 xxx = 0; xxx < width; ++xxx) {
png_byte* ptr = &(row[xxx*3]);
tmpColor.set(ptr[0], ptr[1], ptr[2]);
out.set(ivec2(xxx,yyy), tmpColor);
}
}
break;
case PNG_COLOR_TYPE_GRAY:
EGAMI_DEBUG("colorset: PNG_COLOR_TYPE_GRAY");
// Conversion to OpenGL texture
for (png_uint_32 yyy = 0; yyy < height; ++yyy) {
png_byte* row = row_pointers[yyy];
for (png_uint_32 xxx = 0; xxx < width; ++xxx) {
png_byte* ptr = &(row[xxx]);
tmpColor.set(ptr[0], ptr[0], ptr[0]);
out.set(ivec2(xxx,yyy), tmpColor);
}
}
break;
case PNG_COLOR_TYPE_GRAY_ALPHA:
EGAMI_DEBUG("colorset: PNG_COLOR_TYPE_GRAY_ALPHA");
// Conversion to OpenGL texture
for (png_uint_32 yyy = 0; yyy < height; ++yyy) {
png_byte* row = row_pointers[yyy];
for (png_uint_32 xxx = 0; xxx < width; ++xxx) {
png_byte* ptr = &(row[xxx*2]);
tmpColor.set(ptr[0], ptr[0], ptr[0], ptr[1]);
out.set(ivec2(xxx,yyy), tmpColor);
}
}
break;
default:
EGAMI_ERROR("Must be RGB+alpha?/GRAY+alpha? not supported : " << (int64_t)png_get_color_type(_pngPtr, _infoPtr));
if ((png_get_color_type(_pngPtr, _infoPtr) & PNG_COLOR_MASK_PALETTE) != 0) {
EGAMI_ERROR(" palette");
}
if ((png_get_color_type(_pngPtr, _infoPtr) & PNG_COLOR_MASK_COLOR) != 0) {
EGAMI_ERROR(" color");
}
if ((png_get_color_type(_pngPtr, _infoPtr) & PNG_COLOR_MASK_ALPHA) != 0) {
EGAMI_ERROR(" Alpha");
}
return egami::Image();
}
// Clean up after the read, and free any memory allocated - REQUIRED
png_destroy_read_struct(&_pngPtr, &_infoPtr, null);
return out;
}
egami::Image egami::loadPNG(const etk::Uri& _uri) {
egami::Image out;
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return out;
}
if (fileIo->open(etk::io::OpenMode::Read) == false) {
EGAMI_ERROR("Can not open (r) the file : " << _uri);
return out;
}
unsigned char header[8];
if (fileIo->read(header,1,8) != 8) {
EGAMI_ERROR("error loading file header");
fileIo->close();
return out;
}
if (png_sig_cmp(header, 0, 8)) {
EGAMI_ERROR("Invalid file :" << _uri);
return out;
}
// PNG read setup
png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, userErrorFunction, userWarningFunction);
if (png_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG structure");
fileIo->close();
return out;
}
png_infop info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG info structure");
png_destroy_read_struct(&png_ptr, null, null);
fileIo->close();
return out;
}
/*
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR(" Can not set the JUMP buffer adresses");
// Free all of the memory associated with the png_ptr and info_ptr
png_destroy_read_struct(&png_ptr, &info_ptr, null);
fileIo->close();
return false;
}
*/
ReaderInstancIOInterface tmpNode(fileIo);
ReaderInstance* tmpPoiter = &tmpNode;
// overwrite the read function:
png_set_read_fn(png_ptr,
tmpPoiter,
&local_ReadData);
out = genericLoader(png_ptr, info_ptr);
fileIo->close();
return out;
}
egami::Image egami::loadPNG(const etk::Vector<uint8_t>& _buffer) {
egami::Image out;
if (png_sig_cmp(&_buffer[0], 0, 8)) {
EGAMI_ERROR("Invalid start buffer:");
return out;
}
// PNG read setup
png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, null, userErrorFunction, userWarningFunction);
if (png_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG structure");
return out;
}
png_infop info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG info structure");
png_destroy_read_struct(&png_ptr, null, null);
return out;
}
egami::ReaderInstanceBuffer tmpNode(_buffer, 8);
egami::ReaderInstance* tmpPoiter = &tmpNode;
// Overwrite the read function:
png_set_read_fn(png_ptr,
tmpPoiter,
&local_ReadData);
out = genericLoader(png_ptr, info_ptr);
return out;
}
bool genericWriter(png_structp png_ptr, png_infop info_ptr, const egami::Image& _inputImage) {
//png_init_io(png_ptr, fp);
/* write header */
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR("Error jump setting");
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;
}
png_byte bitDepth = 8;
png_byte colorType = 0;
switch(_inputImage.getType()) {
case egami::colorType::RGBA8:
colorType = PNG_COLOR_TYPE_RGB_ALPHA;
//bitDepth = 4;
break;
case egami::colorType::RGB8:
colorType = PNG_COLOR_TYPE_RGB;
//bitDepth = 3;
break;
default:
EGAMI_ERROR("PNG can not export an image with other type than RGB and RGBA request:" << _inputImage.getType());
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;
}
png_set_IHDR(png_ptr,
info_ptr,
_inputImage.getSize().x(),
_inputImage.getSize().y(),
bitDepth,
colorType,
PNG_INTERLACE_NONE,
PNG_COMPRESSION_TYPE_BASE,
PNG_FILTER_TYPE_BASE);
png_write_info(png_ptr, info_ptr);
/* write bytes */
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR("Error while writing byte");
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;
}
etk::Vector<png_bytep> rowPointers;
rowPointers.resize(_inputImage.getSize().y(), NULL);
uint8_t* imageData = (uint8_t*)_inputImage.getTextureDataPointer();
for (size_t iii=0; iii<rowPointers.size(); ++iii) {
rowPointers[iii] = &imageData[_inputImage.getSize().x()*getFormatColorSize(_inputImage.getType())*iii];
}
png_write_image(png_ptr, &rowPointers[0]);
/* end write */
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR("Error while writing byte");
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;
}
png_write_end(png_ptr, NULL);
png_destroy_write_struct(&png_ptr, &info_ptr);
return true;
}
bool egami::storePNG(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage) {
png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, userErrorFunction, userWarningFunction);
if (png_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG structure");
return false;
}
png_infop info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG info structure");
png_destroy_write_struct(&png_ptr, null);
return false;
}
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR("Error during init_io");
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;
}
egami::ReaderInstanceBuffer tmpNode(_buffer);
egami::ReaderInstance* tmpPointer = &tmpNode;
// overwrite the write functions:
png_set_write_fn(png_ptr,
tmpPointer,
&Local_WriteData,
&local_FlushData);
return genericWriter(png_ptr, info_ptr, _inputImage);
}
bool egami::storePNG(const etk::Uri& _uri, const egami::Image& _inputImage) {
auto fileIo = etk::uri::get(_uri);
if (fileIo == null) {
EGAMI_ERROR("Can not create the uri: " << _uri);
return false;
}
if (fileIo->open(etk::io::OpenMode::Write) == false) {
EGAMI_ERROR("Can not open (w) the file : " << _uri);
return false;
}
png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, userErrorFunction, userWarningFunction);
if (png_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG structure");
fileIo->close();
return false;
}
png_infop info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == null) {
EGAMI_ERROR("Can not Allocate PNG info structure");
png_destroy_write_struct(&png_ptr, null);
fileIo->close();
return false;
}
if (setjmp(png_jmpbuf(png_ptr))) {
EGAMI_ERROR("Error during init_io");
png_destroy_write_struct(&png_ptr, &info_ptr);
fileIo->close();
return false;
}
ReaderInstancIOInterface tmpNode(fileIo);
ReaderInstance* tmpPoiter = &tmpNode;
// overwrite the write functions:
png_set_write_fn(png_ptr,
tmpPoiter,
&Local_WriteData,
&local_FlushData);
bool out = genericWriter(png_ptr, info_ptr, _inputImage);
fileIo->close();
return out;
}

38
egami/wrapperPNG.hpp Normal file
View File

@ -0,0 +1,38 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a png file in the image.
* @param[in] _uri Uri of the file.
* @return Read Image.
*/
egami::Image loadPNG(const etk::Uri& _uri);
/**
* @breif Load a png file in the image.
* @param[in] _buffer File buffer.
* @return Read Image.
*/
egami::Image loadPNG(const etk::Vector<uint8_t>& _buffer);
/**
* @breif Store a PNG file in the image.
* @param[in] _uri Uri of the file.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storePNG(const etk::Uri& _uri, const egami::Image& _inputImage);
/**
* @breif Store a PNG file in the image.
* @param[out] _buffer output file buffer.
* @param[in] _inputImage write data.
* @return true if all is done correctly, false otherwise.
*/
bool storePNG(etk::Vector<uint8_t>& _buffer, const egami::Image& _inputImage);
}

33
egami/wrapperSVG.cpp Normal file
View File

@ -0,0 +1,33 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperSVG.hpp>
#include <etk/uri/uri.hpp>
#include <esvg/esvg.hpp>
egami::Image egami::loadSVG(const etk::Uri& _uri, const ivec2& _size) {
egami::Image out;
esvg::Document svgDocument;
if (svgDocument.load(_uri) == false) {
EGAMI_ERROR("Error to load SVG file " << _uri );
return out;
}
ivec2 imageSize = _size;
#if 0
etk::Vector<etk::Color<float,4>> svgImage = svgDocument.renderImageFloatRGBA(imageSize);
out.configure(imageSize, egami::colorType::RGBAf);
out.set(svgImage, imageSize);
#else
etk::Vector<etk::Color<uint8_t,4>> svgImage = svgDocument.renderImageU8RGBA(imageSize);
out.configure(imageSize, egami::colorType::RGBA8);
out.set(svgImage, imageSize);
#endif
return out;
}

19
egami/wrapperSVG.hpp Normal file
View File

@ -0,0 +1,19 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @brief Load a svg file in the image.
* @param[in] _uri Uri of the file.
* @param[in] _size size of the output image.
* @return Generated image
*/
egami::Image loadSVG(const etk::Uri& _uri, const ivec2& _size=ivec2(-1,-1));
}

17
egami/wrapperTIFF.cpp Normal file
View File

@ -0,0 +1,17 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#include <etk/types.hpp>
#include <egami/debug.hpp>
#include <egami/Image.hpp>
#include <egami/wrapperTIFF.hpp>
egami::Image egami::loadTIFF(const etk::Uri& _uri) {
egami::Image out;
EGAMI_TODO("Read TIFF file");
return out;
}

18
egami/wrapperTIFF.hpp Normal file
View File

@ -0,0 +1,18 @@
/** @file
* @author Edouard DUPIN
* @copyright 2011, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <egami/egami.hpp>
namespace egami {
/**
* @breif Load a tiff file in the image.
* @param[in] _uri Uri of the file.
* @return Read Image.
*/
egami::Image loadTIFF(const etk::Uri& _uri);
}

View File

@ -1,324 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/egami.hpp File Reference</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">egami.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__color__8hpp.html">etk/Color.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_image_8hpp_source.html">egami/Image.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_image_mono_8hpp_source.html">egami/ImageMono.hpp</a>&gt;</code><br />
</div>
<p><a href="egami_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afbd2fda3c7f8a7300ad6cc4f62931389"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classegami_1_1_image.html">egami::Image</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a> (const std::string &amp;_fileName, const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;_size=<a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(-1,-1))</td></tr>
<tr class="separator:afbd2fda3c7f8a7300ad6cc4f62931389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6690883e67ca251dc7e9f822e5a1d48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="egami_8hpp.html#ae6690883e67ca251dc7e9f822e5a1d48">egami::store</a> (const <a class="el" href="classegami_1_1_image.html">egami::Image</a> &amp;_input, const std::string &amp;_fileName)</td></tr>
<tr class="separator:ae6690883e67ca251dc7e9f822e5a1d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e108f6f5c519319357c572343c2bd6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="egami_8hpp.html#a5e108f6f5c519319357c572343c2bd6e">egami::scalable</a> (const std::string &amp;_fileName)</td></tr>
<tr class="separator:a5e108f6f5c519319357c572343c2bd6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae10575428ed52323a1af576374bd1db0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="egami_8hpp.html#ae10575428ed52323a1af576374bd1db0">egami::generateDistanceFieldFile</a> (const std::string &amp;_input, const std::string &amp;_output)</td></tr>
<tr class="separator:ae10575428ed52323a1af576374bd1db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Edouard DUPIN </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2011, Edouard DUPIN, all right reserved </dd></dl>
<dl class="section note"><dt>Note</dt><dd>License: APACHE v2.0 (see license file) </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="file_ae10575428ed52323a1af576374bd1db0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#file_ae10575428ed52323a1af576374bd1db0">&sect;&nbsp;</a></span>generateDistanceFieldFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool egami::generateDistanceFieldFile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>_input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>_output</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generate a distance field output file from an input file;. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_input</td><td>Input file name </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">_output</td><td>Output file name </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true All done corectly. </dd>
<dd>
false An error occured. </dd></dl>
</div>
</div>
<a id="file_afbd2fda3c7f8a7300ad6cc4f62931389"></a>
<h2 class="memtitle"><span class="permalink"><a href="#file_afbd2fda3c7f8a7300ad6cc4f62931389">&sect;&nbsp;</a></span>load()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classegami_1_1_image.html">egami::Image</a> egami::load </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>_fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a> &amp;&#160;</td>
<td class="paramname"><em>_size</em> = <code><a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/_vector2_d_8hpp.html#a920aac35b92f04facb6f3e01b9b3670b">ivec2</a>(-1,-1)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Load a specific ilage file in the requested image data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_fileName</td><td>Name of the file (SVG, BMP, PNG). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">_size</td><td>Dimention of the file when resizable (SVG). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="file_a5e108f6f5c519319357c572343c2bd6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#file_a5e108f6f5c519319357c572343c2bd6e">&sect;&nbsp;</a></span>scalable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool egami::scalable </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>_fileName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>know if a file can have multiple size definition. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_fileName</td><td>Name of the file. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the format is scalable. </dd></dl>
</div>
</div>
<a id="file_ae6690883e67ca251dc7e9f822e5a1d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#file_ae6690883e67ca251dc7e9f822e5a1d48">&sect;&nbsp;</a></span>store()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool egami::store </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classegami_1_1_image.html">egami::Image</a> &amp;&#160;</td>
<td class="paramname"><em>_input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>_fileName</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Save an image in a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">_input</td><td>Data of the image. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">_fileName</td><td>Name of the file. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the file is corectly Stored, false otherwise </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,167 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: framework/atria-soft/egami/egami/egami.hpp Source File</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html">framework</a></li><li class="navelem"><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html">atria-soft</a></li><li class="navelem"><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html">egami</a></li><li class="navelem"><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html">egami</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">egami.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="egami_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/types__8hpp.html">etk/types.hpp</a>&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__color__8hpp.html">etk/Color.hpp</a>&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_image_8hpp.html">egami/Image.hpp</a>&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_image_mono_8hpp.html">egami/ImageMono.hpp</a>&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceegami.html">egami</a> {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="classegami_1_1_image.html">egami::Image</a> <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">load</a>(<span class="keyword">const</span> std::string&amp; _fileName, <span class="keyword">const</span> <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>&amp; _size=<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(-1,-1) );</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="egami_8hpp.html#ae6690883e67ca251dc7e9f822e5a1d48">store</a>(<span class="keyword">const</span> <a class="code" href="classegami_1_1_image.html">egami::Image</a>&amp; _input, <span class="keyword">const</span> std::string&amp; _fileName);</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="egami_8hpp.html#a5e108f6f5c519319357c572343c2bd6e">scalable</a>(<span class="keyword">const</span> std::string&amp; _fileName);</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="egami_8hpp.html#ae10575428ed52323a1af576374bd1db0">generateDistanceFieldFile</a>(<span class="keyword">const</span> std::string&amp; _input, <span class="keyword">const</span> std::string&amp; _output);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="ttc" id="_image_8hpp_html"><div class="ttname"><a href="_image_8hpp.html">Image.hpp</a></div></div>
<div class="ttc" id="__color__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/__color__8hpp.html">Color.hpp</a></div></div>
<div class="ttc" id="egami_8hpp_html_afbd2fda3c7f8a7300ad6cc4f62931389"><div class="ttname"><a href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a></div><div class="ttdeci">egami::Image load(const std::string &amp;_fileName, const ivec2 &amp;_size=ivec2(-1,-1))</div><div class="ttdoc">Load a specific ilage file in the requested image data. </div></div>
<div class="ttc" id="__vector2__d__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">Vector2D.hpp</a></div></div>
<div class="ttc" id="namespaceegami_html"><div class="ttname"><a href="namespaceegami.html">egami</a></div><div class="ttdef"><b>Definition:</b> debug.hpp:10</div></div>
<div class="ttc" id="types__8hpp_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/types__8hpp.html">types.hpp</a></div></div>
<div class="ttc" id="egami_8hpp_html_a5e108f6f5c519319357c572343c2bd6e"><div class="ttname"><a href="egami_8hpp.html#a5e108f6f5c519319357c572343c2bd6e">egami::scalable</a></div><div class="ttdeci">bool scalable(const std::string &amp;_fileName)</div><div class="ttdoc">know if a file can have multiple size definition. </div></div>
<div class="ttc" id="classegami_1_1_image_html"><div class="ttname"><a href="classegami_1_1_image.html">egami::Image</a></div><div class="ttdef"><b>Definition:</b> Image.hpp:66</div></div>
<div class="ttc" id="egami_8hpp_html_ae10575428ed52323a1af576374bd1db0"><div class="ttname"><a href="egami_8hpp.html#ae10575428ed52323a1af576374bd1db0">egami::generateDistanceFieldFile</a></div><div class="ttdeci">bool generateDistanceFieldFile(const std::string &amp;_input, const std::string &amp;_output)</div><div class="ttdoc">Generate a distance field output file from an input file;. </div></div>
<div class="ttc" id="classetk_1_1_vector2_d_html"><div class="ttname"><a href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">etk::Vector2D&lt; int32_t &gt;</a></div></div>
<div class="ttc" id="_image_mono_8hpp_html"><div class="ttname"><a href="_image_mono_8hpp.html">ImageMono.hpp</a></div></div>
<div class="ttc" id="egami_8hpp_html_ae6690883e67ca251dc7e9f822e5a1d48"><div class="ttname"><a href="egami_8hpp.html#ae6690883e67ca251dc7e9f822e5a1d48">egami::store</a></div><div class="ttdeci">bool store(const egami::Image &amp;_input, const std::string &amp;_fileName)</div><div class="ttdoc">Save an image in a file. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,181 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Build lib &amp; build sample</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Build lib &amp; build sample </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#egami_build_download">Download: </a><ul><li class="level2"><a href="#egami_build_download_lutin">lutin (build-system): </a></li>
<li class="level2"><a href="#egami_build_download_dependency">dependency: </a></li>
<li class="level2"><a href="#egami_build_download_sources">sources: </a></li>
</ul>
</li>
<li class="level1"><a href="#egami_build_build">Build: </a><ul><li class="level2"><a href="#egami_build_build_library">library: </a></li>
<li class="level2"><a href="#egami_build_build_sample">Sample: </a></li>
</ul>
</li>
<li class="level1"><a href="#egami_build_run_sample">Run sample: </a></li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="egami_build_download"></a>
Download: </h1>
<p>egami use some tools to manage source and build it:</p>
<h2><a class="anchor" id="egami_build_download_lutin"></a>
lutin (build-system): </h2>
<div class="fragment"><div class="line">pip install lutin --user</div><div class="line"># optionnal dependency of lutin (manage image changing size for application release)</div><div class="line">pip install pillow --user</div></div><!-- fragment --><h2><a class="anchor" id="egami_build_download_dependency"></a>
dependency: </h2>
<div class="fragment"><div class="line">mkdir framework</div><div class="line">cd framework</div><div class="line">git clone https://github.com/atria-soft/etk.git</div><div class="line">git clone https://github.com/atria-soft/exml.git</div><div class="line">git clone https://github.com/atria-soft/esvg.git</div><div class="line">git clone https://github.com/atria-soft/egami.git</div><div class="line">git clone https://github.com/generic-library/gtest-lutin.git --recursive</div><div class="line">git clone https://github.com/generic-library/z-lutin.git --recursive</div><div class="line">git clone https://github.com/generic-library/png-lutin.git --recursive</div><div class="line">git clone https://github.com/generic-library/edtaa3-lutin.git --recursive</div><div class="line">git clone https://github.com/generic-library/z-lutin.git --recursive</div><div class="line">cd ..</div></div><!-- fragment --><h2><a class="anchor" id="egami_build_download_sources"></a>
sources: </h2>
<div class="fragment"><div class="line">cd framework</div><div class="line">git clone https://github.com/atria-soft/egami.git</div><div class="line">cd ..</div></div><!-- fragment --><h1><a class="anchor" id="egami_build_build"></a>
Build: </h1>
<h2><a class="anchor" id="egami_build_build_library"></a>
library: </h2>
<div class="fragment"><div class="line">lutin -mdebug egami</div></div><!-- fragment --><h2><a class="anchor" id="egami_build_build_sample"></a>
Sample: </h2>
<div class="fragment"><div class="line">lutin -mdebug egami-sample</div></div><!-- fragment --><h1><a class="anchor" id="egami_build_run_sample"></a>
Run sample: </h1>
<div class="fragment"><div class="line">lutin -mdebug egami-sample?run</div></div><!-- fragment --> </div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,163 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Read file with EGAMI</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Read file with EGAMI </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#egami_tutorial_read_file">Read a Bitmap or an PNG </a></li>
<li class="level1"><a href="#egami_tutorial_read_file_svg">Read a SVG </a></li>
<li class="level1"><a href="#egami_tutorial_read_all">All example file </a></li>
</ul>
</div>
<div class="textblock"><p>Include EGAMI </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="egami_8hpp.html">egami/egami.hpp</a>&gt;</span></div></div><!-- fragment --><p> Declare image interface </p><div class="fragment"><div class="line"> <span class="comment">// create an empty Image (no type and no inside data)</span></div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image;</div></div><!-- fragment --><h1><a class="anchor" id="egami_tutorial_read_file"></a>
Read a Bitmap or an PNG </h1>
<p>Read a bitmap </p><div class="fragment"><div class="line"> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.bmp&quot;</span>);</div></div><!-- fragment --><p> Read a PNG </p><div class="fragment"><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.png&quot;</span>);</div></div><!-- fragment --> <h1><a class="anchor" id="egami_tutorial_read_file_svg"></a>
Read a SVG </h1>
<p>Read a svg </p><div class="fragment"><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.svg&quot;</span>);</div></div><!-- fragment --><p> Read a svg and natively rescale it: </p><div class="fragment"><div class="line"> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.svg&quot;</span>, <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(800,600));</div></div><!-- fragment --><h1><a class="anchor" id="egami_tutorial_read_all"></a>
All example file </h1>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;test-debug/debug.hpp&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/__vector2__d__8hpp.html">etk/math/Vector2D.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="egami_8hpp.html">egami/egami.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &quot;read.hpp&quot;</span></div><div class="line"></div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> readBMP() {</div><div class="line"> <span class="comment">// create an empty Image (no type and no inside data)</span></div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image;</div><div class="line"> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.bmp&quot;</span>);</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image exist (BMP): &quot;</span> &lt;&lt; image.exist());</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> readSVG() {</div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.svg&quot;</span>);</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image exist (SVG): &quot;</span> &lt;&lt; image.exist());</div><div class="line"> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.svg&quot;</span>, <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(800,600));</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image exist (SVG-rescale): &quot;</span> &lt;&lt; image.exist());</div><div class="line"> <span class="comment">// TODO : image = egami::load(&quot;DATA:read.svg&quot;, 0.5);</span></div><div class="line"><span class="comment"></span> TEST_INFO(<span class="stringliteral">&quot;image exist (SVG-scale): &quot;</span> &lt;&lt; image.exist());</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> readPNG() {</div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image = <a class="code" href="egami_8hpp.html#afbd2fda3c7f8a7300ad6cc4f62931389">egami::load</a>(<span class="stringliteral">&quot;DATA:read.png&quot;</span>);</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image exist (PNG): &quot;</span> &lt;&lt; image.exist());</div><div class="line">}</div><div class="line"></div><div class="line"></div><div class="line"><span class="keywordtype">void</span> appl::read() {</div><div class="line"> readBMP();</div><div class="line"> readSVG();</div><div class="line"> readPNG();</div><div class="line">}</div></div><!-- fragment --></div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,163 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Write an EGAMI content</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Write an EGAMI content </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#egami_tutorial_write_create_image">Create an image with data </a></li>
<li class="level1"><a href="#egami_tutorial_write_stream">Write image with egami </a></li>
<li class="level1"><a href="#egami_tutorial_write_all">All example file </a></li>
</ul>
</div>
<div class="textblock"><p>Include EGAMI </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="egami_8hpp.html">egami/egami.hpp</a>&gt;</span></div></div><!-- fragment --><p> Declare image interface </p><div class="fragment"><div class="line"> <span class="comment">// create an empty Image (no type and no inside data)</span></div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image;</div></div><!-- fragment --><h1><a class="anchor" id="egami_tutorial_write_create_image"></a>
Create an image with data </h1>
<p>Set image point: </p><div class="fragment"><div class="line"> <span class="comment">// create an empty Image (no type and no inside data)</span></div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(25,25));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(5,5), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(12,15), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(4,9), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> <span class="comment">// ...</span></div></div><!-- fragment --><h1><a class="anchor" id="egami_tutorial_write_stream"></a>
Write image with egami </h1>
<p>Write the data in the file: </p><div class="fragment"><div class="line"> <span class="keywordtype">bool</span> ret = <a class="code" href="egami_8hpp.html#ae6690883e67ca251dc7e9f822e5a1d48">egami::store</a>(image, <span class="stringliteral">&quot;DATA:read.bmp&quot;</span>);</div></div><!-- fragment --><h1><a class="anchor" id="egami_tutorial_write_all"></a>
All example file </h1>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;test-debug/debug.hpp&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="egami_8hpp.html">egami/egami.hpp</a>&gt;</span></div><div class="line"><span class="preprocessor">#include &quot;write.hpp&quot;</span></div><div class="line"></div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> writeBMP() {</div><div class="line"> <span class="comment">// create an empty Image (no type and no inside data)</span></div><div class="line"> <a class="code" href="classegami_1_1_image.html">egami::Image</a> image(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(25,25));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(5,5), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(12,15), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> image.set(<a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_vector2_d.html">ivec2</a>(4,9), <a class="codeRef" doxygen="/home/heero/dev/perso/out/doc/release/etk.tag:http://atria-soft.github.io/etk/" href="http://atria-soft.github.io/etk/classetk_1_1_color.html">etk::Color&lt;&gt;</a>(0x88, 0xFF, 0x00, 0xFF));</div><div class="line"> <span class="comment">// ...</span></div><div class="line"><span class="comment"></span> <span class="keywordtype">bool</span> ret = <a class="code" href="egami_8hpp.html#ae6690883e67ca251dc7e9f822e5a1d48">egami::store</a>(image, <span class="stringliteral">&quot;DATA:read.bmp&quot;</span>);</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image write (BMP): &quot;</span> &lt;&lt; ret);</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> writeSVG() {</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image write (SVG): Not Avaliiable&quot;</span>);</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> writePNG() {</div><div class="line"> TEST_INFO(<span class="stringliteral">&quot;image write (PNG): Not Avaliiable&quot;</span>);</div><div class="line">}</div><div class="line"></div><div class="line"></div><div class="line"><span class="keywordtype">void</span> appl::write() {</div><div class="line"> writeBMP();</div><div class="line"> writeSVG();</div><div class="line"> writePNG();</div><div class="line">}</div></div><!-- fragment --></div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,168 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: File List</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_644e041c3a6521da7b27eba0e4eb2b95.html" target="_self">framework</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_a094892b17be858f66bf3446bbb755c7.html" target="_self">atria-soft</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')">&#160;</span><a class="el" href="dir_cd19ef84dd94c3dc52256a3990111993.html" target="_self">egami</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_0_')">&#9660;</span><span id="img_0_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_0_')">&#160;</span><a class="el" href="dir_7d7d356252cefbc0c441662699c02ff6.html" target="_self">egami</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="debug_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="debug_8hpp.html" target="_self">debug.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_1_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="egami_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="egami_8hpp.html" target="_self">egami.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_2_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="_image_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="_image_8hpp.html" target="_self">Image.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_3_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="_image_mono_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="_image_mono_8hpp.html" target="_self">ImageMono.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_4_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="_image_private_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="_image_private_8hpp.html" target="_self">ImagePrivate.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_5_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="wrapper_b_m_p_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="wrapper_b_m_p_8hpp.html" target="_self">wrapperBMP.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_6_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="wrapper_e_d_f_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="wrapper_e_d_f_8hpp.html" target="_self">wrapperEDF.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_7_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="wrapper_p_n_g_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="wrapper_p_n_g_8hpp.html" target="_self">wrapperPNG.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_8_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="wrapper_s_v_g_8hpp_source.html"><span class="icondoc"></span></a><a class="el" href="wrapper_s_v_g_8hpp.html" target="_self">wrapperSVG.hpp</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 B

View File

@ -1,156 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Class Members</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
<li>Image()
: <a class="el" href="classegami_1_1_image.html#a0981834bf2b2bb1c1df232dd34d9f0ba">egami::Image</a>
</li>
<li>scale()
: <a class="el" href="classegami_1_1_image.html#a311fdbc6868d7e59478a8f4b59e5f8af">egami::Image</a>
, <a class="el" href="classegami_1_1_image_template.html#a997bad83336b60dd4730975b21f2c1c2">egami::ImageTemplate&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,156 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Class Members - Functions</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>Image()
: <a class="el" href="classegami_1_1_image.html#a0981834bf2b2bb1c1df232dd34d9f0ba">egami::Image</a>
</li>
<li>scale()
: <a class="el" href="classegami_1_1_image.html#a311fdbc6868d7e59478a8f4b59e5f8af">egami::Image</a>
, <a class="el" href="classegami_1_1_image_template.html#a997bad83336b60dd4730975b21f2c1c2">egami::ImageTemplate&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,159 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: Class Hierarchy</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image.html" target="_self">egami::Image</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_mono.html" target="_self">egami::ImageMono</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_private.html" target="_self">egami::ImagePrivate</a></td><td class="desc"></td></tr>
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classegami_1_1_image_template.html" target="_self">egami::ImageTemplate&lt; T &gt;</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

View File

@ -1,210 +0,0 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<title>egami: Ewol IMAGE interface abstraction: EGAMI library</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">egami: Ewol IMAGE interface abstraction 0.5.0</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.html">Main&nbsp;Page</a></li>
<li><a href="pages.html">Related&nbsp;Pages</a></li>
<li><a href="namespaces.html">Namespaces</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="files.html">Files</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
Link-libs<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
</ul>
</li>
</ul>
<div id="search-box" class="input-group">
<div class="input-group-btn">
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-search"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Classes</a></li>
<li><a href="#">Namespaces</a></li>
<li><a href="#">Files</a></li>
<li><a href="#">Functions</a></li>
<li><a href="#">Variables</a></li>
<li><a href="#">Typedefs</a></li>
<li><a href="#">Enumerations</a></li>
<li><a href="#">Enumerator</a></li>
<li><a href="#">Friends</a></li>
<li><a href="#">Macros</a></li>
<li><a href="#">Pages</a></li>
</ul>
</div>
<button id="search-close" type="button" class="close" aria-label="Close">
<span aria-hidden="true"></span>
</button>
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
</div>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;margin-top: 60px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">EGAMI library </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#egami_mainpage_what">What is EGAMI: </a><ul><li class="level2"><a href="#egami_mainpage_what_it_does">What it does: </a></li>
<li class="level2"><a href="#egami_mainpage_todo">What is the TODO list: </a></li>
</ul>
</li>
<li class="level1"><a href="#egami_mainpage_language">What languages are supported? </a></li>
<li class="level1"><a href="#egami_mainpage_license_restriction">Are there any licensing restrictions? </a></li>
<li class="level1"><a href="#egami_mainpage_license">License (APACHE-2.0) </a></li>
<li class="level1"><a href="#egami_mainpage_sub_page">Other pages </a></li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="egami_mainpage_what"></a>
What is EGAMI: </h1>
<p>EGAMI, or IMAGE in the oposity way is a simple library that permit to read many format of image without knolege of the specific under library API.</p>
<h2><a class="anchor" id="egami_mainpage_what_it_does"></a>
What it does: </h2>
<p>EGAMI Read some image format:</p><ul>
<li>bmp</li>
<li>png</li>
<li>svg</li>
</ul>
<p>Egami stor file format:</p><ul>
<li>bmp</li>
</ul>
<p>EGAMI is dependent of the STL (compatible with MacOs stl (CXX))</p>
<h2><a class="anchor" id="egami_mainpage_todo"></a>
What is the TODO list: </h2>
<p>Must integrate read of:</p><ul>
<li>jpeg</li>
<li>webp</li>
<li>gif</li>
<li>tga</li>
<li>yuv</li>
</ul>
<p>Must integrate store of:</p><ul>
<li>png</li>
<li>webp</li>
</ul>
<p>must port to use Open-cv core backend to store image (in optionnal mode)</p>
<h1><a class="anchor" id="egami_mainpage_language"></a>
What languages are supported? </h1>
<p>EGAMI is written in C++.</p>
<h1><a class="anchor" id="egami_mainpage_license_restriction"></a>
Are there any licensing restrictions? </h1>
<p>EGAMI is <b>FREE software</b> and <em>all sub-library are FREE and staticly linkable !!!</em></p>
<h1><a class="anchor" id="egami_mainpage_license"></a>
License (APACHE-2.0) </h1>
<p>Copyright EGAMI Edouard DUPIN</p>
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
<h1><a class="anchor" id="egami_mainpage_sub_page"></a>
Other pages </h1>
<ul>
<li><a class="el" href="egami_build.html">Build lib &amp; build sample</a></li>
<li><a class="el" href="egami_tutorial_read.html">Read file with EGAMI</a></li>
<li><a class="el" href="egami_tutorial_write.html">Write an EGAMI content</a></li>
<li><a href="http://atria-soft.github.io/ewol/ewol_coding_style.html"><b>ewol coding style</b></a> </li>
</ul>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Oct 24 2016 15:35:51 for egami: Ewol IMAGE interface abstraction by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>

87
jquery.js vendored

File diff suppressed because one or more lines are too long

2
lutinParseSubFolders.txt Normal file
View File

@ -0,0 +1,2 @@
tools/viewer
tools/cutter

45
lutin_egami-sample.py Normal file
View File

@ -0,0 +1,45 @@
#!/usr/bin/python
import realog.debug as debug
import lutin.tools as tools
def get_type():
return "BINARY"
def get_sub_type():
return "TEST"
def get_desc():
return "Test software for egami"
def get_licence():
return "MPL-2"
def get_compagny_type():
return "com"
def get_compagny_name():
return "atria-soft"
def get_maintainer():
return ["Mr DUPIN Edouard <yui.heero@gmail.com>"]
def configure(target, my_module):
my_module.add_depend([
'egami',
'test-debug'
])
my_module.add_src_file([
'sample/main.cpp',
'sample/read.cpp',
'sample/write.cpp'
])
my_module.copy_path('data/*')
return True

45
lutin_egami-test.py Normal file
View File

@ -0,0 +1,45 @@
#!/usr/bin/python
import realog.debug as debug
import lutin.tools as tools
def get_type():
return "BINARY"
def get_sub_type():
return "TEST"
def get_desc():
return "Test software for egami"
def get_licence():
return "MPL-2"
def get_compagny_type():
return "com"
def get_compagny_name():
return "atria-soft"
def get_maintainer():
return ["Mr DUPIN Edouard <yui.heero@gmail.com>"]
def configure(target, my_module):
my_module.add_depend([
'egami',
'etest',
'test-debug',
'algue',
])
my_module.add_src_file([
'test/main.cpp'
])
my_module.copy_path('data/*')
return True

88
lutin_egami.py Normal file
View File

@ -0,0 +1,88 @@
#!/usr/bin/python
import realog.debug as debug
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "image generator from multiple image type"
def get_licence():
return "MPL-2"
def get_compagny_type():
return "com"
def get_compagny_name():
return "atria-soft"
def get_maintainer():
return "authors.txt"
def get_version():
return "version.txt"
def configure(target, my_module):
my_module.add_extra_flags()
my_module.add_src_file([
'egami/Image.cpp',
'egami/ImageMono.cpp',
'egami/egami.cpp',
'egami/debug.cpp',
'egami/wrapperBMP.cpp',
'egami/wrapperEDF.cpp'
])
my_module.add_header_file([
'egami/Image.hpp',
'egami/ImageMono.hpp',
'egami/egami.hpp',
])
my_module.add_depend([
'etk',
'edtaa3'
])
my_module.add_flag('c++', [
'-Wno-write-strings',
'-Wall'
])
my_module.add_optionnal_depend(
'png',
["c++", "-DEGAMI_BUILD_PNG"],
src_file=[
'egami/wrapperPNG.cpp',
]
)
my_module.add_optionnal_depend(
'esvg',
["c++", "-DEGAMI_BUILD_ESVG"],
src_file=[
'egami/wrapperSVG.cpp',
]
)
my_module.add_optionnal_depend(
'jpeg',
["c++", "-DEGAMI_BUILD_JPEG"],
src_file=[
'egami/wrapperJPG.cpp',
]
)
my_module.add_optionnal_depend(
'openjpeg',
["c++", "-DEGAMI_BUILD_JPEG2000"],
src_file=[
'egami/wrapperJPG2000.cpp',
]
)
my_module.add_optionnal_depend(
'tiff',
["c++", "-DEGAMI_BUILD_TIFF"],
src_file=[
'egami/wrapperTIFF.cpp',
]
)
my_module.add_path(".")
return True

26
menu.js
View File

@ -1,26 +0,0 @@
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}

View File

@ -1,12 +0,0 @@
var menudata={children:[
{text:'Main Page',url:'index.html'},
{text:'Related Pages',url:'pages.html'},
{text:'Classes',url:'annotated.html',children:[
{text:'Class List',url:'annotated.html'},
{text:'Class Index',url:'classes.html'},
{text:'Class Hierarchy',url:'hierarchy.html'},
{text:'Class Members',url:'functions.html',children:[
{text:'All',url:'functions.html'},
{text:'Functions',url:'functions_func.html'}]}]},
{text:'Files',url:'files.html',children:[
{text:'File List',url:'files.html'}]}]}

BIN
nav_f.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

BIN
nav_g.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Some files were not shown because too many files have changed in this diff Show More