Commit ae51691c authored by Tony Castley's avatar Tony Castley

Implemented an "always-on-top" feature for the interface window.

RGB16 Overlay supported again.
Resizing is now implemented consistantly.
parent a3e1d215
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* InterfaceWindow.cpp: beos interface * InterfaceWindow.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: InterfaceWindow.cpp,v 1.14 2002/03/26 10:29:19 tcastley Exp $ * $Id: InterfaceWindow.cpp,v 1.15 2002/03/31 08:13:38 tcastley Exp $
* *
* Authors: Jean-Marc Dressler <polux@via.ecp.fr> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -182,7 +182,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message ) ...@@ -182,7 +182,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
miOnTop->SetMarked(! miOnTop->IsMarked() ); miOnTop->SetMarked(! miOnTop->IsMarked() );
if ( miOnTop->IsMarked() ) if ( miOnTop->IsMarked() )
{ {
SetFeel(B_FLOATING_APP_WINDOW_FEEL); SetFeel(B_FLOATING_ALL_WINDOW_FEEL);
SetWorkspaces(B_CURRENT_WORKSPACE); SetWorkspaces(B_CURRENT_WORKSPACE);
} }
else else
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* VideoWindow.h: BeOS video window class prototype * VideoWindow.h: BeOS video window class prototype
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: VideoWindow.h,v 1.13 2002/03/22 13:16:35 tcastley Exp $ * $Id: VideoWindow.h,v 1.14 2002/03/31 08:13:38 tcastley Exp $
* *
* Authors: Jean-Marc Dressler <polux@via.ecp.fr> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au> * Tony Castley <tcastley@mail.powerup.com.au>
...@@ -38,12 +38,12 @@ public: ...@@ -38,12 +38,12 @@ public:
}; };
class VideoWindow class VideoWindow : public BWindow
{ {
public: public:
// standard constructor and destructor // standard constructor and destructor
VideoWindow( int v_width, int v_height, VideoWindow( int v_width, int v_height,
int w_width, int w_height); BRect frame);
~VideoWindow(); ~VideoWindow();
void Zoom(BPoint origin, float width, float height); void Zoom(BPoint origin, float width, float height);
...@@ -51,58 +51,27 @@ public: ...@@ -51,58 +51,27 @@ public:
void FrameMoved(BPoint origin); void FrameMoved(BPoint origin);
void ScreenChanged(BRect frame, color_space mode); void ScreenChanged(BRect frame, color_space mode);
void drawBuffer(int bufferIndex); void drawBuffer(int bufferIndex);
void WindowActivated(bool active);
// this is the hook controling direct screen connection // this is the hook controling direct screen connection
int32 i_width; // incomming bitmap size int32 i_width; // incomming bitmap size
int32 i_height; int32 i_height;
BRect winSize; // current window size BRect winSize; // current window size
float width_scale, height_scale; // float width_scale, height_scale;
float out_top, out_left, out_height, out_width; // float out_top, out_left, out_height, out_width;
bool is_zoomed, resized, vsync; bool is_zoomed, vsync, is_overlay;
BBitmap *bitmap[2]; BBitmap *bitmap[2];
BBitmap *overlaybitmap;
VLCView *view; VLCView *view;
BWindow *voutWindow;
int i_buffer; int i_buffer;
bool teardownwindow; bool teardownwindow;
thread_id fDrawThreadID; thread_id fDrawThreadID;
int mode;
private: private:
// display_mode old_mode; // display_mode old_mode;
struct vout_thread_s *p_vout; struct vout_thread_s *p_vout;
int mode;
};
class bitmapWindow : public BWindow
{
public:
bitmapWindow(BRect frame, VideoWindow *theOwner);
~bitmapWindow();
// standard window member
virtual void FrameResized(float width, float height);
virtual void FrameMoved(BPoint origin);
virtual void Zoom(BPoint origin, float width, float height);
virtual void ScreenChanged(BRect frame, color_space mode);
void drawBuffer(int bufferIndex);
private:
VideoWindow *owner;
}; };
class directWindow : public BDirectWindow \ No newline at end of file
{
public:
// standard constructor and destructor
directWindow( BRect frame, VideoWindow *theOwner);
~directWindow();
// standard window member
virtual void FrameResized(float width, float height);
virtual void FrameMoved(BPoint origin);
virtual void Zoom(BPoint origin, float width, float height);
virtual void DirectConnected(direct_buffer_info *info);
virtual void ScreenChanged(BRect frame, color_space mode);
void drawBuffer(int bufferIndex);
private:
VideoWindow *owner;
};
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment