|
Java example source code file (mlib_ImageColormap.h)
The mlib_ImageColormap.h Java example source code/* * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ #ifndef __MLIB_IMAGECOLORMAP_H #define __MLIB_IMAGECOLORMAP_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ typedef struct { void **lut; mlib_s32 channels; mlib_type intype; mlib_s32 offset; void *table; mlib_s32 bits; mlib_s32 method; mlib_s32 lutlength; mlib_s32 indexsize; mlib_type outtype; void *normal_table; mlib_d64 *double_lut; } mlib_colormap; /***************************************************************/ #define LUT_COLOR_CUBE_SEARCH 0 #define LUT_BINARY_TREE_SEARCH 1 #define LUT_STUPID_SEARCH 2 #define LUT_COLOR_DIMENSIONS 3 /***************************************************************/ /* Bit set in the tag denotes that the corresponding quadrant is a palette index, not node. If the bit is clear, this means that that is a pointer to the down level node. If the bit is clear and the corresponding quadrant is NULL, then there is no way down there and this quadrant is clear. */ struct lut_node_3 { mlib_u8 tag; union { struct lut_node_3 *quadrants[8]; long index[8]; } contents; }; struct lut_node_4 { mlib_u16 tag; union { struct lut_node_4 *quadrants[16]; long index[16]; } contents; }; /***************************************************************/ #define mlib_ImageGetLutData(colormap) \ ((void **)((( mlib_colormap *)( colormap))->lut)) /***************************************************************/ #define mlib_ImageGetLutNormalTable(colormap) \ ((void *)((( mlib_colormap *)( colormap))->normal_table)) /***************************************************************/ #define mlib_ImageGetLutInversTable(colormap) \ ((void *)((( mlib_colormap *)( colormap))->table)) /***************************************************************/ #define mlib_ImageGetLutChannels(colormap) \ ((mlib_s32)((( mlib_colormap *)( colormap))->channels)) /***************************************************************/ #define mlib_ImageGetLutType(colormap) \ ((mlib_type)((( mlib_colormap *)( colormap))->intype)) /***************************************************************/ #define mlib_ImageGetIndexSize(colormap) \ ((mlib_s32)((( mlib_colormap *)( colormap))->indexsize)) /***************************************************************/ #define mlib_ImageGetOutType(colormap) \ ((mlib_type)((( mlib_colormap *)( colormap))->outtype)) /***************************************************************/ #define mlib_ImageGetLutOffset(colormap) \ ((mlib_s32)((( mlib_colormap *)( colormap))->offset)) /***************************************************************/ #define mlib_ImageGetBits(colormap) \ ((mlib_s32)((( mlib_colormap *)( colormap))->bits)) /***************************************************************/ #define mlib_ImageGetMethod(colormap) \ ((mlib_s32)((( mlib_colormap *)( colormap))->method)) /***************************************************************/ #define mlib_ImageGetLutDoubleData(colormap) \ ((mlib_d64 *)((( mlib_colormap *)( colormap))->double_lut)) /***************************************************************/ #define FIND_DISTANCE_3( x1, x2, y1, y2, z1, z2, SHIFT ) \ (( ( ( ( x1 ) - ( x2 ) ) * ( ( x1 ) - ( x2 ) ) ) >> SHIFT ) + \ ( ( ( ( y1 ) - ( y2 ) ) * ( ( y1 ) - ( y2 ) ) ) >> SHIFT ) + \ ( ( ( ( z1 ) - ( z2 ) ) * ( ( z1 ) - ( z2 ) ) ) >> SHIFT ) ) /***************************************************************/ #define FIND_DISTANCE_4( x1, x2, y1, y2, z1, z2, w1, w2, SHIFT ) \ (( ( ( ( x1 ) - ( x2 ) ) * ( ( x1 ) - ( x2 ) ) ) >> SHIFT ) + \ ( ( ( ( y1 ) - ( y2 ) ) * ( ( y1 ) - ( y2 ) ) ) >> SHIFT ) + \ ( ( ( ( z1 ) - ( z2 ) ) * ( ( z1 ) - ( z2 ) ) ) >> SHIFT ) + \ ( ( ( ( w1 ) - ( w2 ) ) * ( ( w1 ) - ( w2 ) ) ) >> SHIFT ) ) /***************************************************************/ void mlib_ImageColorTrue2IndexLine_U8_BIT_1(const mlib_u8 *src, mlib_u8 *dst, mlib_s32 bit_offset, mlib_s32 length, const void *state); void mlib_ImageColorTrue2IndexLine_U8_U8_3(const mlib_u8 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_U8_U8_3_in_4(const mlib_u8 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_U8_U8_4(const mlib_u8 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_U8_S16_3(const mlib_u8 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_U8_S16_3_in_4(const mlib_u8 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_U8_S16_4(const mlib_u8 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_S16_3(const mlib_s16 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_S16_3_in_4(const mlib_s16 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_S16_4(const mlib_s16 *src, mlib_s16 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_U8_3(const mlib_s16 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_U8_3_in_4(const mlib_s16 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); void mlib_ImageColorTrue2IndexLine_S16_U8_4(const mlib_s16 *src, mlib_u8 *dst, mlib_s32 length, const void *colormap); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __MLIB_IMAGECOLORMAP_H */ Other Java examples (source code examples)Here is a short list of links related to this Java mlib_ImageColormap.h source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.