1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00

* at last an image !!

This commit is contained in:
Cyril Deguet 2003-04-13 22:55:15 +00:00
parent e8f95f3483
commit 36449bd0d7
6 changed files with 36 additions and 19 deletions

View File

@ -2,7 +2,7 @@
* image.cpp: Image control
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: image.cpp,v 1.2 2003/04/11 21:19:49 videolan Exp $
* $Id: image.cpp,v 1.3 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Olivier Teulière <ipkiss@via.ecp.fr>
* Emmanuel Puig <karibu@via.ecp.fr>
@ -84,7 +84,7 @@ void ControlImage::Draw( int x, int y, int w, int h, Graphics *dest )
{
if( !Visible )
return;
int xI, yI, wI, hI;
if( GetIntersectRgn(x, y, w, h, Left, Top, Width, Height, xI, yI, wI, hI ) )
Img[0]->DrawBitmap( xI-Left, yI-Top, wI, hI, xI-x, yI-y, dest );

View File

@ -2,7 +2,7 @@
* gtk2_bitmap.cpp: GTK2 implementation of the Bitmap class
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: gtk2_bitmap.cpp,v 1.3 2003/04/13 20:07:34 asmax Exp $
* $Id: gtk2_bitmap.cpp,v 1.4 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Cyril Deguet <asmax@videolan.org>
*
@ -25,6 +25,7 @@
#if !defined WIN32
//--- GTK2 -----------------------------------------------------------------
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk/gdk.h>
//--- VLC -------------------------------------------------------------------
@ -98,6 +99,16 @@ GTK2Bitmap::GTK2Bitmap( intf_thread_t *p_intf, string FileName, int AColor )
// Delete objects
DeleteObject( HBitmap );*/
// Load the bitmap image
Bmp = gdk_pixbuf_new_from_file( FileName.c_str(), NULL );
if( Bmp == NULL )
{
if( FileName != "" )
msg_Warn( p_intf, "Couldn't load bitmap: %s", FileName.c_str() );
// Bmp = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, 8, 1, 1);
Bmp = NULL;
}
}
//---------------------------------------------------------------------------
GTK2Bitmap::GTK2Bitmap( intf_thread_t *p_intf, Graphics *from, int x, int y,
@ -149,6 +160,13 @@ void GTK2Bitmap::DrawBitmap( int x, int y, int w, int h, int xRef, int yRef,
// New method, not available in win95
TransparentBlt( destDC, xRef, yRef, w, h, bmpDC, x, y, w, h, AlphaColor );
*/
GdkDrawable *destImg = ( (GTK2Graphics *)dest )->GetImageHandle();
GdkGC *gc = gdk_gc_new( destImg );
/*gdk_pixbuf_render_to_drawable( Bmp, destImg, gc, 0, 0, x, y, w, h,
GDK_RGB_DITHER_NONE, 0, 0);*/
gdk_pixbuf_render_to_drawable( Bmp, destImg, gc, 0, 0, x, y, 50, 50,
GDK_RGB_DITHER_NONE, 0, 0);
}
//---------------------------------------------------------------------------
bool GTK2Bitmap::Hit( int x, int y)

View File

@ -2,7 +2,7 @@
* gtk2_bitmap.h: GTK2 implementation of the Bitmap class
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: gtk2_bitmap.h,v 1.2 2003/04/13 20:07:34 asmax Exp $
* $Id: gtk2_bitmap.h,v 1.3 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Cyril Deguet <asmax@videolan.org>
*
@ -42,7 +42,7 @@ class Graphics;
class GTK2Bitmap : public Bitmap
{
private:
GdkBitmap *bmpDC;
GdkPixbuf *Bmp;
public:
// Constructors
@ -60,8 +60,6 @@ class GTK2Bitmap : public Bitmap
virtual int GetBmpPixel( int x, int y );
virtual void SetBmpPixel( int x, int y, int color );
GdkBitmap *GetBmpDC() { return bmpDC; }
};
//---------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
* gtk2_theme.cpp: GTK2 implementation of the Theme class
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: gtk2_theme.cpp,v 1.4 2003/04/13 20:07:34 asmax Exp $
* $Id: gtk2_theme.cpp,v 1.5 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Cyril Deguet <asmax@videolan.org>
*
@ -26,6 +26,7 @@
//--- GTK2 -----------------------------------------------------------------
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
//--- VLC -------------------------------------------------------------------
#include <vlc/intf.h>
@ -265,9 +266,8 @@ void GTK2Theme::OnLoadTheme()
attr.event_mask = GDK_ALL_EVENTS_MASK;
attr.x = 100;
attr.y = 100;
attr.window_type = GDK_WINDOW_TOPLEVEL;
attr.width = 400;
attr.height = 200;
attr.height = 150;
attr.window_type = GDK_WINDOW_TOPLEVEL;
attr.wclass = GDK_INPUT_OUTPUT;
attr.override_redirect = FALSE;
@ -276,6 +276,7 @@ void GTK2Theme::OnLoadTheme()
// Create the parent window
ParentWindow = gdk_window_new( NULL, &attr, mask);
gdk_window_show( ParentWindow );
}
//---------------------------------------------------------------------------
@ -319,8 +320,8 @@ void GTK2Theme::AddWindow( string name, int x, int y, bool visible,
GdkWindowAttr attr;
attr.event_mask = GDK_ALL_EVENTS_MASK;
attr.width = 100;
attr.height = 100;
attr.width = 400;
attr.height = 150;
attr.window_type = GDK_WINDOW_CHILD;
attr.wclass = GDK_INPUT_OUTPUT;

View File

@ -2,7 +2,7 @@
* gtk2_window.cpp: GTK2 implementation of the Window class
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: gtk2_window.cpp,v 1.4 2003/04/13 19:09:59 asmax Exp $
* $Id: gtk2_window.cpp,v 1.5 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Cyril Deguet <asmax@videolan.org>
*
@ -142,14 +142,14 @@ GTK2Window::~GTK2Window()
//---------------------------------------------------------------------------
void GTK2Window::OSShow( bool show )
{
/* if( show )
if( show )
{
gdk_window_show( gWnd );
}
else
{
gdk_window_hide( gWnd );
}*/
}
}
//---------------------------------------------------------------------------
bool GTK2Window::ProcessOSEvent( Event *evt )
@ -271,9 +271,9 @@ void GTK2Window::Move( int left, int top )
//---------------------------------------------------------------------------
void GTK2Window::Size( int width, int height )
{
/* Width = width;
Width = width;
Height = height;
SetWindowPos( hWnd, HWND_TOP, Left, Top, Width, Height,
/* SetWindowPos( hWnd, HWND_TOP, Left, Top, Width, Height,
SWP_NOMOVE|SWP_NOREDRAW|SWP_NOZORDER );*/
}
//---------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
* skin-main.cpp: skins plugin for VLC
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id: skin_main.cpp,v 1.7 2003/04/13 17:46:23 asmax Exp $
* $Id: skin_main.cpp,v 1.8 2003/04/13 22:55:15 asmax Exp $
*
* Authors: Olivier Teulière <ipkiss@via.ecp.fr>
* Emmanuel Puig <karibu@via.ecp.fr>
@ -175,7 +175,7 @@ static void Run( intf_thread_t *p_intf )
DIRECTORY_SEPARATOR + "theme.xml";
#else
// FIXME: find VLC directory
string default_dir = (string)"/home/cyril/videolan/vlc/share" +
string default_dir = (string)"." +
DIRECTORY_SEPARATOR + "skins" +
DIRECTORY_SEPARATOR + "default" +
DIRECTORY_SEPARATOR + "theme.xml";