/* * Copyright 2009, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following disclaimer * in the documentation and/or other materials provided with the * distribution. * * Neither the name of Google Inc. nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ namespace o3d { %[ Bitmap provides an interface for basic image operations on bitmap, including scale and crop. A Bitmap can be created from RawData via pack.createBitmapsFromRawData(), and also can be transferred to mip of a Texure2D or a specific face of TextureCUBE via methods in Texture. %] [nocpp, include="core/cross/bitmap.h"] class Bitmap : ParamObject { %[ After loading an array of Bitmaps with pack.createBitmapsFromRawData you can inspect their semantic to see what they were intended for. This is mostly to distinguish between 6 bitmaps that are faces of a cubemap and 6 bitmaps that are slices of a 3d texture. \li FACE_POSITIVE_X, 1 face of a cubemap \li FACE_NEGATIVE_X, 1 face of a cubemap \li FACE_POSITIVE_Y, 1 face of a cubemap \li FACE_NEGATIVE_Y, 1 face of a cubemap \li FACE_POSITIVE_Z, 1 face of a cubemap \li FACE_NEGATIVE_Z, 1 face of a cubemap \li IMAGE, normal 2d image \li SLICE, a slice of a 3d texture. %] enum Semantic { FACE_POSITIVE_X, FACE_NEGATIVE_X, FACE_POSITIVE_Y, FACE_NEGATIVE_Y, FACE_POSITIVE_Z, FACE_NEGATIVE_Z, IMAGE, SLICE }; %[ Flips a bitmap vertically in place. %] void FlipVertically(); %[ Generates mip maps from the source level to lower levels. You can not currently generate mips for DXT textures although you can load them from dds files. \param source_level The level to use as the source of the mips. \param num_levels The number of levels to generate below the source level. %] void GenerateMips(int source_level, int num_levels); %[ The width of the bitmap (read only). %] [getter] int width_; %[ The height of the bitmap (read only). %] [getter] int height_; %[ The format of the bitmap (read only). %] [getter] Texture::Format format_; %[ Number mip-maps (read only) %] [getter] int num_mipmaps_; %[ The Semantic of the bitmap. %] [getter] Semantic semantic_; }; // Bitmap } // namespace o3d