📄 qwindowsystem_qws.h
字号:
#endifprivate:#ifndef QT_NO_COP static void sendQCopEvent( QWSClient *c, const QCString &ch, const QCString &msg, const QByteArray &data, bool response = FALSE );#endif void move_region( const QWSRegionMoveCommand * ); void set_altitude( const QWSChangeAltitudeCommand * ); void request_focus( const QWSRequestFocusCommand * ); void request_region( int, QRegion ); void destroy_region( const QWSRegionDestroyCommand * ); void name_region( const QWSRegionNameCommand * ); void set_identity( const QWSIdentifyCommand * );#ifndef QT_NO_QWS_IM void set_im_info( const QWSSetIMInfoCommand * ); void reset_im( const QWSResetIMCommand * ); void set_im_font( const QWSSetIMFontCommand * ); void send_im_mouse( const QWSIMMouseCommand * ); static void sendKeyEventUnfiltered(int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat);#endif static void emergency_cleanup(); static QColor *bgColor; static QImage *bgImage; void sendMaxWindowRectEvents();#ifndef QT_NO_QWS_MULTIPROCESS void newConnection( int socket );#endif void invokeIdentify( const QWSIdentifyCommand *cmd, QWSClient *client ); void invokeCreate( QWSCreateCommand *cmd, QWSClient *client ); void invokeRegionName( const QWSRegionNameCommand *cmd, QWSClient *client ); void invokeRegion( QWSRegionCommand *cmd, QWSClient *client ); void invokeRegionMove( const QWSRegionMoveCommand *cmd, QWSClient *client ); void invokeRegionDestroy( const QWSRegionDestroyCommand *cmd, QWSClient *client ); void invokeSetAltitude( const QWSChangeAltitudeCommand *cmd, QWSClient *client );#ifndef QT_NO_QWS_PROPERTIES void invokeAddProperty( QWSAddPropertyCommand *cmd ); void invokeSetProperty( QWSSetPropertyCommand *cmd ); void invokeRemoveProperty( QWSRemovePropertyCommand *cmd ); void invokeGetProperty( QWSGetPropertyCommand *cmd, QWSClient *client );#endif //QT_NO_QWS_PROPERTIES void invokeSetSelectionOwner( QWSSetSelectionOwnerCommand *cmd ); void invokeConvertSelection( QWSConvertSelectionCommand *cmd ); void invokeSetFocus( const QWSRequestFocusCommand *cmd, QWSClient *client ); void initIO(); void setFocus( QWSWindow*, bool gain );#ifndef QT_NO_QWS_CURSOR void invokeDefineCursor( QWSDefineCursorCommand *cmd, QWSClient *client ); void invokeSelectCursor( QWSSelectCursorCommand *cmd, QWSClient *client );#endif void invokeGrabMouse( QWSGrabMouseCommand *cmd, QWSClient *client ); void invokeGrabKeyboard( QWSGrabKeyboardCommand *cmd, QWSClient *client );#ifndef QT_NO_SOUND void invokePlaySound( QWSPlaySoundCommand *cmd, QWSClient *client );#endif#ifndef QT_NO_COP void invokeRegisterChannel( QWSQCopRegisterChannelCommand *cmd, QWSClient *client ); void invokeQCopSend( QWSQCopSendCommand *cmd, QWSClient *client );#endif#ifndef QT_NO_QWS_IM void invokeSetIMInfo( const QWSSetIMInfoCommand *cmd, QWSClient *client ); void invokeSetIMFont( const QWSSetIMFontCommand *cmd, QWSClient *client );#endif QWSMouseHandler* newMouseHandler(const QString& spec);#if !defined(QT_NO_QWS_KEYBOARD) && !defined(QT_EZX_INPUT) QWSKeyboardHandler* newKeyboardHandler(const QString& spec);#endif void openDisplay(); void closeDisplay(); void showCursor(); void hideCursor(); void initializeCursor(); void paintServerRegion(); void paintBackground( const QRegion & ); void clearRegion( const QRegion &r, const QColor &c ); void refreshBackground(); void resetGfx();private slots:#ifndef QT_NO_QWS_MULTIPROCESS void clientClosed(); void doClient();#endif void setMouse(const QPoint& pos,int bstate); void screenSaverWake(); void screenSaverSleep(); void screenSaverTimeout();private: void disconnectClient( QWSClient * ); void screenSave(int level); void doClient( QWSClient * ); typedef QMapIterator<int,QWSClient*> ClientIterator; typedef QMap<int,QWSClient*> ClientMap; void releaseMouse(QWSWindow* w); void releaseKeyboard(QWSWindow* w); void updateClientCursorPos(); uchar* sharedram; int ramlen; QGfx *gfx; ClientMap client;#ifndef QT_NO_QWS_PROPERTIES QWSPropertyManager propertyManager;#endif struct SelectionOwner { int windowid; struct Time { void set( int h, int m, int s, int s2 ) { hour = h; minute = m; sec = s; ms = s2; } int hour, minute, sec, ms; } time; } selectionOwner; QTime timer; QWSServerData* d; int* screensaverinterval; QWSWindow *focusw; QWSWindow *mouseGrabber; bool mouseGrabbing; int swidth, sheight, sdepth;#ifndef QT_NO_QWS_CURSOR bool haveviscurs; QWSCursor *cursor; // cursor currently shown QWSCursor *nextCursor; // cursor to show once grabbing is off#endif QRegion screenRegion; // the entire display region QRegion serverRegion; QRegion dirtyBackground; bool disablePainting; QList<QWSMouseHandler> mousehandlers;#ifndef QT_NO_QWS_KEYBOARD QList<QWSKeyboardHandler> keyboardhandlers;#endif QList<QWSCommandStruct> commandQueue; QWSRegionManager *rgnMan; // Window management QList<QWSWindow> windows; // first=topmost QWSWindow* newWindow(int id, QWSClient* client); QWSWindow* findWindow(int windowid, QWSClient* client); void moveWindowRegion(QWSWindow*, int dx, int dy ); QRegion setWindowRegion(QWSWindow*, QRegion r ); void raiseWindow( QWSWindow *, int = 0); void lowerWindow( QWSWindow *, int = -1); void exposeRegion( QRegion , int index = 0 ); void notifyModified( QWSWindow *active = 0 ); void syncRegions( QWSWindow *active = 0 ); void setCursor(QWSCursor *curs); // multimedia#ifndef QT_NO_SOUND QWSSoundServer *soundserver;#endif#ifndef QT_NO_COP QMap<QString, QList<QWSClient> > channels;#endif#ifndef QT_NO_QWS_IM bool microF; int microX; int microY;#endifpublic: // Not in Qt 2.3.7 - STUB static void restartScreenSaverTimer() { extern QWSServer *qwsServer; if (qwsServer) { qwsServer->screenSaverWake(); } }#if defined(QT_EZX_MUNGE) /* Routines added by Motorola for EZX */signals: void NotifyClientClosed(QWSClient*); void cursorSelected(QWSCursor*);public: void insertPrioritizedWindow(QWSWindow*); void invokeRegionPriority(QWSSetRegionPriorityCommand const*, QWSClient*); void invokeSimulateMouseEvent(QWSSimulateMouseEventCommand const*, QWSClient*); void lowerWindow(QWSWindow*, QWSWindow*); void sendCaptureEvent(void); void sendStrEvent(char*, int); void set_region_priority(QWSSetRegionPriorityCommand const*); void simulate_mouse_event(QWSSimulateMouseEventCommand const*);#endif};extern QWSServer *qwsServer; //there can be only one#ifndef QT_NO_QWS_IMclass QWSInputMethod : public QObject{public: QWSInputMethod(); virtual ~QWSInputMethod(); virtual bool filter(int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat)=0; virtual void reset(); virtual void setMicroFocus( int x, int y ); virtual void mouseHandler( int, int ); QFont font() const; QRect inputRect() const; protected: void sendIMEvent( QWSServer::IMState, const QString& txt, int cpos, int selLen = 0 );};inline void QWSInputMethod::sendIMEvent( QWSServer::IMState state, const QString &txt, int cpos, int selLen ){ qwsServer->sendIMEvent( state, txt, cpos, selLen );}#endif/********************************************************************* * * Class: QWSClient * *********************************************************************/struct QWSMouseEvent;typedef QMap<int, QWSCursor*> QWSCursorMap;class QWSClient : public QObject{ Q_OBJECTpublic: QWSClient( QObject* parent, int socket, int id ); ~QWSClient(); int socket() const; void setIdentity(const QString&); QString identity() const { return id; } void sendEvent( QWSEvent* event ); void sendConnectedEvent( const char *display_spec ); void sendMaxWindowRectEvent(); void sendRegionModifyEvent( int winid, QRegion exposed, bool ack ); void sendFocusEvent( int winid, bool get ); void sendPropertyNotifyEvent( int property, int state ); void sendPropertyReplyEvent( int property, int len, char *data ); void sendSelectionClearEvent( int windowid ); void sendSelectionRequestEvent( QWSConvertSelectionCommand *cmd, int windowid ); QWSCommand* readMoreCommand(); int clientId() const { return cid; } QWSCursorMap cursors; // cursors defined by this clientsignals: void connectionClosed(); void readyRead();private slots: void closeHandler(); void errorHandler( int );private: int s; // XXX csocket->d->socket->socket() is this value#ifndef QT_NO_QWS_MULTIPROCESS QWSSocket *csocket;#endif QWSCommand* command; uint isClosed : 1; QString id; int cid;#if defined(QT_EZX_MUNGE) void sendSimulateMouseEvent(QPoint const&, int);#endif /* defined(QT_EZX_MUNGE) */};#if defined(QT_EZX_MUNGE)extern QString qwsGetClipboardObjectFormat(void);extern void qwsSetClipboardObjectFormat(QString const&);extern void qwsSetClipboardObject(QString const&);#endif /* defined(QT_EZX_MUNGE) */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -