lfp_item.c
来自「This is a resource based on j2me embedde」· C语言 代码 · 共 299 行
C
299 行
/* * * * 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. *//** * @file * * Shared cross platform functions for all Items. */#include <kni.h>#include <midpError.h>#include <midpMalloc.h>#include <midpEvents.h>#include <lfpport_item.h>#include "lfp_intern_registry.h"#include <midpUtilKni.h>/*========================================================================= * FUNCTION: show0(I)V * CLASS: javax.microedition.lcdui.StringItemLFImpl * TYPE: virtual native function * OVERVIEW: Show function pointer. This function could be called * on a Item that is already shown. * INTERFACE (operand stack manipulation): * parameters: nativeId * returns: <none> *=======================================================================*/KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_show0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); itemPtr->show(itemPtr); KNI_ReturnVoid();}/*========================================================================= * FUNCTION: hide0(I)V * CLASS: javax.microedition.lcdui.ItemLFImpl * TYPE: virtual native function * OVERVIEW: * INTERFACE (operand stack manipulation): * parameters: nativeId * returns: <none> *=======================================================================*/KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_hide0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); itemPtr->hide(itemPtr); KNI_ReturnVoid();}/*========================================================================= * FUNCTION: delete0(I)V * CLASS: javax.microedition.lcdui.ItemLFImpl * TYPE: virtual native function * OVERVIEW: * INTERFACE (operand stack manipulation): * parameters: nativeId * returns: <none> *=======================================================================*/KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_delete0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); MidpDeleteItem(itemPtr); KNI_ReturnVoid();}/*========================================================================= * FUNCTION: setLocation0(III)V * CLASS: javax.microedition.lcdui.ItemLFImpl * TYPE: virtual native function * OVERVIEW: sets bounds on the native resource * INTERFACE (operand stack manipulation): * parameters: nativeId * x * y * returns: <none> *=======================================================================*/KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_setLocation0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int x = KNI_GetParameterAsInt(2); int y = KNI_GetParameterAsInt(3); itemPtr->relocate(itemPtr, x, y); KNI_ReturnVoid();}/*========================================================================= * FUNCTION: setSize0(III)V * CLASS: javax.microedition.lcdui.ItemLFImpl * TYPE: virtual native function * OVERVIEW: sets bounds on the native resource * INTERFACE (operand stack manipulation): * parameters: nativeId * w * h * returns: <none> *=======================================================================*/KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_setSize0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int w = KNI_GetParameterAsInt(2); int h = KNI_GetParameterAsInt(3); itemPtr->resize(itemPtr, w, h); KNI_ReturnVoid();}/** * KNI function that sets label on the native widget corresponding to the * current Item. * * Class: javax.microedition.lcdui.ItemLFImpl * * Java prototype: * native void setLabel0(int nativeId, String label) * * INTERFACE (operand stack manipulation): * parameters: nativeId pointer to the native resource for this Item * label the new label set in this Item * returns: <none> */KNIEXPORT KNI_RETURNTYPE_VOIDJava_javax_microedition_lcdui_ItemLFImpl_setLabel0() { MidpError err = KNI_OK; pcsl_string label; pcsl_string_status rc; MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); KNI_StartHandles(1); KNI_DeclareHandle(labelJString); KNI_GetParameterAsObject(2, labelJString); rc = midp_jstring_to_pcsl_string(labelJString, &label); KNI_EndHandles(); if (PCSL_STRING_OK != rc) { err = KNI_ENOMEM; } else { err = itemPtr->setLabel(itemPtr, &label); } pcsl_string_free(&label); if (err != KNI_OK) { KNI_ThrowNew(midpOutOfMemoryError, NULL); } KNI_ReturnVoid();}/** * KNI function that gets minimum width of the native widget for * current Item. * * Class: javax.microedition.lcdui.ItemLFImpl * * Java prototype: * native int getMinimumWidth0(int nativeId) * * INTERFACE (operand stack manipulation): * parameters: nativeId pointer to the native resource for this Item * returns: the minimum width */KNIEXPORT KNI_RETURNTYPE_INTJava_javax_microedition_lcdui_ItemLFImpl_getMinimumWidth0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int width; MidpError err = itemPtr->getMinimumWidth(&width, itemPtr); if (err != KNI_OK) { KNI_ThrowNew(midpOutOfMemoryError, NULL); } KNI_ReturnInt(width);}/** * KNI function that gets minimum height of the native widget for * current Item. * * Class: javax.microedition.lcdui.ItemLFImpl * * Java prototype: * native int getMinimumHeight0(int nativeId) * * INTERFACE (operand stack manipulation): * parameters: nativeId pointer to the native resource for this Item * returns: the minimum height */KNIEXPORT KNI_RETURNTYPE_INTJava_javax_microedition_lcdui_ItemLFImpl_getMinimumHeight0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int height; MidpError err = itemPtr->getMinimumHeight(&height, itemPtr); if (err != KNI_OK) { KNI_ThrowNew(midpOutOfMemoryError, NULL); } KNI_ReturnInt(height);}/** * KNI function that gets preferred width of the native widget for * current Item. * * Class: javax.microedition.lcdui.ItemLFImpl * * Java prototype: * native int getPreferredWidth0(int nativeId, int h) * * INTERFACE (operand stack manipulation): * parameters: nativeId pointer to the native resource for this Item * h the tentative content height in pixels, * or -1 if a tentative height has not been computed * returns: the preferred width */KNIEXPORT KNI_RETURNTYPE_INTJava_javax_microedition_lcdui_ItemLFImpl_getPreferredWidth0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int height = KNI_GetParameterAsInt(2); int width; MidpError err = itemPtr->getPreferredWidth(&width, itemPtr, height); if (err != KNI_OK) { KNI_ThrowNew(midpOutOfMemoryError, NULL); } KNI_ReturnInt(width);}/** * KNI function that gets preferred height of the native widget for * current Item. * * Class: javax.microedition.lcdui.ItemLFImpl * * Java prototype: * native int getPreferredWidth0(int nativeId, int h) * * INTERFACE (operand stack manipulation): * parameters: nativeId pointer to the native resource for this Item * w the tentative content width in pixels, * or -1 if a tentative width has not been computed * returns: the preferred height */KNIEXPORT KNI_RETURNTYPE_INTJava_javax_microedition_lcdui_ItemLFImpl_getPreferredHeight0() { MidpItem *itemPtr = (MidpItem *)KNI_GetParameterAsInt(1); int width = KNI_GetParameterAsInt(2); int height; MidpError err = itemPtr->getPreferredHeight(&height, itemPtr, width); if (err != KNI_OK) { KNI_ThrowNew(midpOutOfMemoryError, NULL); } KNI_ReturnInt(height);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?