xaosabstractwindow.h

来自「另一个分形程序」· C头文件 代码 · 共 98 行

H
98
字号
// The Window class for XaoS on BeOS.// Copyright © 1999 Jan Hubicka (hubicka@freesoft.cz)//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// 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 for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.#ifndef XAOSABSTRACTWINDOW_H#define XAOSABSTRACTWINDOW_H// The abstract window class covers common stuff for directwindow// and normal window#include <View.h>#include "XaoSEvent.h"class XaoSAbstractWindow{public:  // Constructor, destructor.  XaoSAbstractWindow (port_id port);  ~XaoSAbstractWindow (void);  // Hook functions.  bool DoQuitRequested (void);  // void DrawBuffer(char *buffer);  // Allow quit requests to succeed.  void DoAllowQuit (void);  void PassMenuMessage (const BMessage * m);  void SendEvent (long eventCode, const XaoSEvent & event) const;private:    port_id mEventPort;  bool mQuitAllowed;};inlineXaoSAbstractWindow::XaoSAbstractWindow (port_id port){  mEventPort = port;  mQuitAllowed = FALSE;}inlineXaoSAbstractWindow::~XaoSAbstractWindow (){}inline voidXaoSAbstractWindow::SendEvent (long eventCode, const XaoSEvent & event) const{  (void) write_port (mEventPort, eventCode, &event, sizeof (XaoSEvent));}inline voidXaoSAbstractWindow::PassMenuMessage (const BMessage * m){  void *ptr;  m->FindPointer ("Cmd", &ptr);  SendEvent (XaoSEvent::Menu, ptr);}inline boolXaoSAbstractWindow::DoQuitRequested (void){  // Are we allowed to quit?  if (!mQuitAllowed)    {      SendEvent (XaoSEvent::Quit, XaoSEvent ());    }  else    {      // Yep!      be_app->PostMessage (B_QUIT_REQUESTED);    }  return mQuitAllowed;}inline voidXaoSAbstractWindow::DoAllowQuit (){  // Allow quitting; called from the main thread just before  // it posts B_QUIT_REQUESTED.  mQuitAllowed = TRUE;}#endif // XAOSWINDOW_H

⌨️ 快捷键说明

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