⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gxj_putpixel.h

📁 This is a resource based on j2me embedded,if you dont understand,you can connection with me .
💻 H
字号:
/* *   * * Copyright  1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER *  * This program 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. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). *  * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. */#ifndef _GXJ_PORT_H#define _GXJ_PORT_H/** * @file * @ingroup lowui_port * * @brief Porting Interface of putpixel based graphics system */#include <gx_image.h>#include <imgapi_image.h>#ifdef __cplusplusextern "C" {#endif/** * Enable verbose clip checks of screen buffer vs clip[XY][12] and * X,Y coordinates (or pointers) against screen buffer and clip[XY][12]. * This is useful for debugging clipping bugs. */#ifndef ENABLE_BOUNDS_CHECKS#define ENABLE_BOUNDS_CHECKS 0#endif/** * 16-bit pixel. * The color encoding used in pixels is 565, that is, * 5+6+5=16 bits for red, green, blue. */typedef unsigned short gxj_pixel_type;/** 8-bit alpha */typedef unsigned char gxj_alpha_type;/** Screen buffer definition */typedef struct _gxj_screen_buffer {    int width;	/**< width in pixel */    int height;	/**< height in pixel */    gxj_pixel_type *pixelData; /**< pointer to array of pixel data */    gxj_alpha_type *alphaData; /**< pointer to array of alpha data */#if ENABLE_BOUNDS_CHECKS    java_graphics *g; /**< Associated Graphics object */#endif} gxj_screen_buffer;/** * Each port must define one system screen buffer * from where pixels are copied to physical screen. */extern gxj_screen_buffer gxj_system_screen_buffer;/** * @name Accessing pixel colors * These macros return separate colors packed as 5- and 6-bit fields * in a pixel. * The pixel color encoding is 565, that is, 5+6+5=16 bits for red, green, * blue. * The returned separate colors are 8 bits as in Java RGB. * @{ */#define GXJ_GET_RED_FROM_PIXEL(P)   (((P) >> 8) & 0xF8)#define GXJ_GET_GREEN_FROM_PIXEL(P) (((P) >> 3) & 0xFC)#define GXJ_GET_BLUE_FROM_PIXEL(P)  (((P) << 3) & 0xF8)/** @} *//** Convert pre-masked triplet r, g, b to 16 bit pixel. */#define GXJ_RGB2PIXEL(r, g, b) ( b +(g << 5)+ (r << 11) )/** Convert 24-bit RGB color to 16bit (565) color */#define GXJ_RGB24TORGB16(x) (((( x ) & 0x00F80000) >> 8) + \                             ((( x ) & 0x0000FC00) >> 5) + \			     ((( x ) & 0x000000F8) >> 3) )/** Convert 16-bit (565) color to 24-bit RGB color */#define GXJ_RGB16TORGB24(x) ( ((x & 0x001F) << 3) | ((x & 0x001C) >> 2) |\                              ((x & 0x07E0) << 5) | ((x & 0x0600) >> 1) |\                              ((x & 0xF800) << 8) | ((x & 0xE000) << 3) )/** * Extend the 8-bit Alpha value of an ARGB8888 pixel * over 24 bits. * Used for alpha blending a RGB888 pixel. */#define GXJ_XAAA8888_FROM_ARGB8888(src) \(unsigned int)(((src >> 24) & 0x000000FF) | \               ((src >> 16) & 0x0000FF00) | \               ((src >> 8 ) & 0x00FF0000) )/** * Convert a Java platform image object to its native representation. * * @param jimg Java platform Image object to convert from * @param sbuf pointer to Screen buffer structure to populate * @param g optional Graphics object for debugging purposes only. *          Provide NULL if this parameter is irrelevant. * * @return the given 'sbuf' pointer for convenient usage, *         or NULL if the image is null. */gxj_screen_buffer* gxj_get_image_screen_buffer_impl(const java_imagedata *img,						    gxj_screen_buffer *sbuf,						    jobject graphics);#ifdef __cplusplus}#endif#endif /* _GXJ_PORT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -