1*f75a7bf5SStephan Aßmus /* 2*f75a7bf5SStephan Aßmus * Copyright (c) 2008 Stephan Aßmus <superstippi@gmx.de>. All rights reserved. 3*f75a7bf5SStephan Aßmus * Distributed under the terms of the MIT/X11 license. 4*f75a7bf5SStephan Aßmus * 5*f75a7bf5SStephan Aßmus * Copyright (c) 1999 Mike Steed. You are free to use and distribute this software 6*f75a7bf5SStephan Aßmus * as long as it is accompanied by it's documentation and this copyright notice. 7*f75a7bf5SStephan Aßmus * The software comes with no warranty, etc. 8*f75a7bf5SStephan Aßmus */ 9*f75a7bf5SStephan Aßmus #ifndef MAIN_WINDOW_H 10*f75a7bf5SStephan Aßmus #define MAIN_WINDOW_H 11*f75a7bf5SStephan Aßmus 12*f75a7bf5SStephan Aßmus #include <Window.h> 13*f75a7bf5SStephan Aßmus 14*f75a7bf5SStephan Aßmus 15*f75a7bf5SStephan Aßmus class BVolume; 16*f75a7bf5SStephan Aßmus class ControlsView; 17*f75a7bf5SStephan Aßmus struct FileInfo; 18*f75a7bf5SStephan Aßmus class PieView; 19*f75a7bf5SStephan Aßmus class StatusView; 20*f75a7bf5SStephan Aßmus 21*f75a7bf5SStephan Aßmus class MainWindow: public BWindow { 22*f75a7bf5SStephan Aßmus public: 23*f75a7bf5SStephan Aßmus MainWindow(BRect pieRect); 24*f75a7bf5SStephan Aßmus virtual ~MainWindow(); 25*f75a7bf5SStephan Aßmus 26*f75a7bf5SStephan Aßmus virtual void MessageReceived(BMessage* message); 27*f75a7bf5SStephan Aßmus virtual void Zoom(BPoint origin, float width, float height); 28*f75a7bf5SStephan Aßmus virtual void FrameResized(float width, float height); 29*f75a7bf5SStephan Aßmus virtual bool QuitRequested(); 30*f75a7bf5SStephan Aßmus 31*f75a7bf5SStephan Aßmus void ShowInfo(const FileInfo* info); 32*f75a7bf5SStephan Aßmus void SetRescanEnabled(bool enabled); 33*f75a7bf5SStephan Aßmus BVolume* FindDeviceFor(dev_t device, 34*f75a7bf5SStephan Aßmus bool invoke = false); 35*f75a7bf5SStephan Aßmus 36*f75a7bf5SStephan Aßmus private: 37*f75a7bf5SStephan Aßmus bool _FixAspectRatio(float* width, float* height); 38*f75a7bf5SStephan Aßmus 39*f75a7bf5SStephan Aßmus ControlsView* fControlsView; 40*f75a7bf5SStephan Aßmus PieView* fPieView; 41*f75a7bf5SStephan Aßmus StatusView* fStatusView; 42*f75a7bf5SStephan Aßmus }; 43*f75a7bf5SStephan Aßmus 44*f75a7bf5SStephan Aßmus #endif // MAIN_WINDOW_H 45