qteapp_mscreen.h
来自「This is a resource based on j2me embedde」· C头文件 代码 · 共 237 行
H
237 行
/* * * * 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. * * This source file is specific for Qt-based configurations. */#ifndef _QTEAPP_MSCREEN_H_#define _QTEAPP_MSCREEN_H_/** * @file * @ingroup highui_qteapp * * @brief Linux/Qte MScreen interface */#include <java_types.h>#include <qpainter.h>#include <qtimer.h>/** * The MScreen class maps to a Java platform widget-based drawing * widget, and is responsible for most of the drawing work for the * Java platform widget configuration. * * It is an abstract class. * * @see MIDPMainWindow */class MScreen {public: /** * Called upon QPE application startup to initialize MScreen resources. */ virtual void init() = 0; /** Screen buffer size: normal or full. */ enum BufferSize{ normalScreenSize = 0, fullScreenSize }; /** * Resize the buffer size (either normal or fullscreen) * * @param newSize Specify the size of the screen */ virtual void setBufferSize(BufferSize newSize) = 0; /** * Sets the JVM's next time slice to happen after the given * number of milliseconds. * * @param millis number of milliseconds until the next time slice */ virtual void setNextVMTimeSlice(int millis) = 0; /** * Checks whether the given destination is the current painting device. * * @return true if the given destination is the current painting * device; false otherwise. */ virtual bool isCurrentPaintDevice(QPaintDevice *dst) = 0; /** * Sets the drawing parameters in the QPainter for the graphics * context. * * @param pixel_pen the pen to be set for drawing. * @param pixel_brush the brush to be set for drawing. * @param clip the clip to be set on the destination. * @param dst the drawing destination. * @param dotted the type of line (solid/dotted). * * @return pointer to the graphics context to be used for painting. */ virtual QPainter *setupGC(int pixel_pen, int pixel_brush, const jshort *clip, QPaintDevice *dst, int dotted) = 0; /** * Create a color from the packed pixel value. * * @param pixel structure from which to get the color to create * * @return the created Color object. */ virtual QColor getColor(int pixel) = 0; /** * Return the video buffer of graphics. */ virtual QPixmap* getBackBuffer() = 0; /** * Refreshes the area of the screen bounded by the given coordinates. * * @param x1 top-left x coordinate of the area to refresh * @param y1 top-left y coordinate of the area to refresh * @param x2 bottom-right x coordinate of the area to refresh * @param y2 bottom-right y coordinate of the area to refresh */ virtual void refresh(int x1, int y1, int x2, int y2) = 0; /** * Start to give VM time slice to run. */ virtual void startVM() = 0; /** * Stop VM from any further time slice. * Any UI leftover resource will be freed. */ virtual void stopVM() = 0; /** * Suspend VM. VM will not receive time slices until resumed. */ virtual void suspendVM(); /** * Resume VM to normal operation. */ virtual void resumeVM(); /** * Resets native resources of the device when foreground is gained * by a new Display. */ virtual void gainedForeground() = 0; /** * Requests MIDP system to resume. */ virtual void activateAll(); /** * Requests MIDP system (including java applications, VM and resources) * to suspend. */ virtual void pauseAll(); /** * Returns QWidget representation of this MScreen instance. */ virtual QWidget * asWidget() = 0; /** * Width of a normal screen. */ virtual int getDisplayWidth() const = 0; /** * Height of a normal screen. */ virtual int getDisplayHeight() const = 0; /** * Width of a full screen canvas. */ virtual int getDisplayFullWidth() const = 0; /** * Height of a full screen canvas. */ virtual int getDisplayFullHeight() const = 0; /** * Screen width currently available for Java. */ virtual int getScreenWidth() const = 0; /** * Screen height currently available for Java. */ virtual int getScreenHeight() const = 0; virtual jboolean reverse_orientation() = 0; virtual void handle_clamshell() = 0; virtual jboolean get_reverse_orientation() const = 0; virtual ~MScreen(){ };protected: /** Constructs an instance. */ MScreen(); /** * Implementation of slotTimeout() shared between distinct ports. * The slotTimeout() methods are defined in subclasses. */ void slotTimeoutImpl(); /** * A flag to determine whether the VM is currently suspended * (should not receive time slices). */ bool vm_suspended; /** * A flag to avoid performing any more timer processing after * JVM_TimeSlice returns -2. */ bool vm_stopped; /** * Timer to request time slice for VM. */ QTimer vm_slicer;};/* @} */#endif /* _MIDP_QTE_MSCREEN_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?