1 /*****************************************************************************
2 * VideoWindow.h: BeOS video window class prototype
3 *****************************************************************************
4 * Copyright (C) 1999, 2000, 2001 VideoLAN
5 * $Id: VideoWindow.h,v 1.11 2002/03/17 05:48:18 tcastley Exp $
7 * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
8 * Tony Castley <tcastley@mail.powerup.com.au>
9 * Richard Shepherd <richard@rshepherd.demon.co.uk>
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
24 *****************************************************************************/
25 class VLCView : public BView
28 VLCView( BRect bounds);
31 void MouseDown(BPoint point);
32 void Draw(BRect updateRect);
39 // standard constructor and destructor
40 VideoWindow( int width, int height,
41 struct vout_thread_s *p_video_output);
44 void drawBuffer(int bufferIndex);
46 // this is the hook controling direct screen connection
47 int32 i_width; // incomming bitmap size
49 BRect winSize; // current window size
50 float width_scale, height_scale;
51 bool is_zoomed, resized;
59 // display_mode old_mode;
60 thread_id fDrawThreadID;
61 struct vout_thread_s *p_vout;
65 class bitmapWindow : public BWindow
68 bitmapWindow(BRect frame, VideoWindow *theOwner);
70 // standard window member
71 virtual void FrameResized(float width, float height);
72 virtual void Zoom(BPoint origin, float width, float height);
78 class directWindow : public BDirectWindow
81 // standard constructor and destructor
82 directWindow( BRect frame, VideoWindow *theOwner);
85 // standard window member
86 virtual void FrameResized(float width, float height);
87 virtual void Zoom(BPoint origin, float width, float height);
88 virtual void DirectConnected(direct_buffer_info *info);