wxUSE_POSTSCRIPT is not a sufficient test by itself for

wxPostScriptPrintNative data.  This is probably still not
100% correct but at least msw builds again for mingw now.

Fixed bogus eof (and removed junk whitespace) from mediactl.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ron Lee
2004-11-12 06:52:19 +00:00
parent 33d8e2fcb6
commit 72259e0063
4 changed files with 73 additions and 68 deletions

View File

@@ -13,4 +13,5 @@
#include "wx/msw/mediactrl.h" #include "wx/msw/mediactrl.h"
#elif defined(__WXMAC__) #elif defined(__WXMAC__)
#include "wx/mac/carbon/mediactrl.h" #include "wx/mac/carbon/mediactrl.h"
#endif #endif

View File

@@ -1,8 +1,8 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/mediactrl.h // Name: wx/msw/mediactrl.h
// Purpose: DirectX7+ wxMediaCtrl MSW // Purpose: DirectX7+ wxMediaCtrl MSW
// Author: Ryan Norton <wxprojects@comcast.net> // Author: Ryan Norton <wxprojects@comcast.net>
// Modified by: // Modified by:
// Created: 11/07/04 // Created: 11/07/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) Ryan Norton // Copyright: (c) Ryan Norton
@@ -29,25 +29,25 @@ public:
wxMediaCtrl() : m_imp(NULL) wxMediaCtrl() : m_imp(NULL)
{ } { }
wxMediaCtrl(wxWindow* parent, wxWindowID id, const wxString& fileName, wxMediaCtrl(wxWindow* parent, wxWindowID id, const wxString& fileName,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = 0, long driver = 0, const wxString& name = wxPanelNameStr) : m_imp(NULL) long style = 0, long driver = 0, const wxString& name = wxPanelNameStr) : m_imp(NULL)
{ Create(parent, id, fileName, pos, size, style, driver, name); } { Create(parent, id, fileName, pos, size, style, driver, name); }
wxMediaCtrl(wxWindow* parent, wxWindowID id, const wxURI& location, wxMediaCtrl(wxWindow* parent, wxWindowID id, const wxURI& location,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = 0, long driver = 0, const wxString& name = wxPanelNameStr) : m_imp(NULL) long style = 0, long driver = 0, const wxString& name = wxPanelNameStr) : m_imp(NULL)
{ Create(parent, id, location, pos, size, style, driver, name); } { Create(parent, id, location, pos, size, style, driver, name); }
~wxMediaCtrl(); ~wxMediaCtrl();
bool Create(wxWindow* parent, wxWindowID id, const wxString& fileName, bool Create(wxWindow* parent, wxWindowID id, const wxString& fileName,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = 0, long driver = 0, const wxString& name = wxPanelNameStr); long style = 0, long driver = 0, const wxString& name = wxPanelNameStr);
bool Create(wxWindow* parent, wxWindowID id, const wxURI& location, bool Create(wxWindow* parent, wxWindowID id, const wxURI& location,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = 0, long driver = 0, const wxString& name = wxPanelNameStr); long style = 0, long driver = 0, const wxString& name = wxPanelNameStr);
bool Play(); bool Play();
@@ -75,30 +75,31 @@ protected:
class wxMediaCtrlImpl* m_imp; class wxMediaCtrlImpl* m_imp;
bool m_bLoaded; bool m_bLoaded;
DECLARE_DYNAMIC_CLASS(wxMediaCtrl); DECLARE_DYNAMIC_CLASS(wxMediaCtrl);
}; };
//Event stuff //Event stuff
class WXDLLEXPORT wxMediaEvent : public wxNotifyEvent class WXDLLEXPORT wxMediaEvent : public wxNotifyEvent
{ {
public: public:
wxMediaEvent(wxEventType commandType = wxEVT_NULL, int id = 0) wxMediaEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
: wxNotifyEvent(commandType, id) : wxNotifyEvent(commandType, id)
{ }
wxMediaEvent(const wxMediaEvent &clone)
: wxNotifyEvent(clone.GetEventType(), clone.GetId())
{ } { }
wxEvent *Clone() { return new wxMediaEvent(*this); } wxMediaEvent(const wxMediaEvent &clone)
: wxNotifyEvent(clone.GetEventType(), clone.GetId())
DECLARE_DYNAMIC_CLASS(wxMediaEvent) { }
};
#define wxMEDIA_FINISHED_ID 13000 wxEvent *Clone() { return new wxMediaEvent(*this); }
DECLARE_EVENT_TYPE(wxEVT_MEDIA_FINISHED, wxMEDIA_FINISHED_ID)
typedef void (wxEvtHandler::*wxMediaEventFunction)(wxMediaEvent&); DECLARE_DYNAMIC_CLASS(wxMediaEvent)
#define EVT_MEDIA_FINISHED(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_FINISHED, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxMediaEventFunction) & fn, (wxObject *) NULL ), };
#define wxMEDIA_FINISHED_ID 13000
DECLARE_EVENT_TYPE(wxEVT_MEDIA_FINISHED, wxMEDIA_FINISHED_ID)
typedef void (wxEvtHandler::*wxMediaEventFunction)(wxMediaEvent&);
#define EVT_MEDIA_FINISHED(winid, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_MEDIA_FINISHED, winid, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxMediaEventFunction) & fn, (wxObject *) NULL ),
#endif // wxUSE_MEDIACTRL
#endif // wxUSE_MEDIACTRL

View File

@@ -258,7 +258,9 @@ bool wxPrintData::Ok() const
return m_nativeData->Ok(); return m_nativeData->Ok();
} }
#if WXWIN_COMPATIBILITY_2_4 // What should happen here? wxPostScriptPrintNativeData is not
// defined unless all this is true on MSW.
#if WXWIN_COMPATIBILITY_2_4 && wxUSE_PRINTING_ARCHITECTURE && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
#include "wx/generic/prntdlgg.h" #include "wx/generic/prntdlgg.h"

View File

@@ -2,7 +2,7 @@
// Name: msw/mediactrl.cpp // Name: msw/mediactrl.cpp
// Purpose: wxMediaCtrl MSW // Purpose: wxMediaCtrl MSW
// Author: Ryan Norton <wxprojects@comcast.net> // Author: Ryan Norton <wxprojects@comcast.net>
// Modified by: // Modified by:
// Created: 11/07/04 // Created: 11/07/04
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) Ryan Norton // Copyright: (c) Ryan Norton
@@ -33,8 +33,8 @@
//########################################################################### //###########################################################################
IMPLEMENT_CLASS(wxMediaCtrl, wxControl); IMPLEMENT_CLASS(wxMediaCtrl, wxControl);
IMPLEMENT_DYNAMIC_CLASS(wxMediaEvent, wxEvent); IMPLEMENT_DYNAMIC_CLASS(wxMediaEvent, wxEvent);
DEFINE_EVENT_TYPE(wxEVT_MEDIA_FINISHED); DEFINE_EVENT_TYPE(wxEVT_MEDIA_FINISHED);
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// wxMediaCtrlImpl // wxMediaCtrlImpl
@@ -46,10 +46,10 @@ public:
wxMediaCtrlImpl() : m_bLoaded(false) wxMediaCtrlImpl() : m_bLoaded(false)
{ } { }
virtual ~wxMediaCtrlImpl() virtual ~wxMediaCtrlImpl()
{ } { }
virtual bool Create(wxMediaCtrl* WXUNUSED(ctrl)) virtual bool Create(wxMediaCtrl* WXUNUSED(ctrl))
{ return false; } { return false; }
virtual bool Play() { return false; } virtual bool Play() { return false; }
@@ -70,7 +70,7 @@ public:
virtual double GetPlaybackRate() { return 0; } virtual double GetPlaybackRate() { return 0; }
virtual bool SetPlaybackRate(double) { return false; } virtual bool SetPlaybackRate(double) { return false; }
virtual bool MSWWindowProc(WXUINT, WXWPARAM, WXLPARAM) { return false; } virtual bool MSWWindowProc(WXUINT, WXWPARAM, WXLPARAM) { return false; }
bool IsLoaded() bool IsLoaded()
@@ -197,12 +197,12 @@ public:
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, const wxString& fileName, bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, const wxString& fileName,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, long WXUNUSED(driver), const wxString& name) long style, long WXUNUSED(driver), const wxString& name)
{ {
//base create //base create
if ( !wxControl::Create(parent, id, pos, size, (style | wxNO_BORDER) | wxCLIP_CHILDREN, if ( !wxControl::Create(parent, id, pos, size, (style | wxNO_BORDER) | wxCLIP_CHILDREN,
wxDefaultValidator, name) ) wxDefaultValidator, name) )
return false; return false;
@@ -235,12 +235,12 @@ bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, const wxString& fileNa
return true; return true;
} }
bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, const wxURI& location, bool wxMediaCtrl::Create(wxWindow* parent, wxWindowID id, const wxURI& location,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
long style, long WXUNUSED(driver), const wxString& name) long style, long WXUNUSED(driver), const wxString& name)
{ {
//base create //base create
if ( !wxControl::Create(parent, id, pos, size, (style | wxNO_BORDER) | wxCLIP_CHILDREN, if ( !wxControl::Create(parent, id, pos, size, (style | wxNO_BORDER) | wxCLIP_CHILDREN,
wxDefaultValidator, name) ) wxDefaultValidator, name) )
return false; return false;
@@ -383,7 +383,7 @@ wxMediaCtrl::~wxMediaCtrl()
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
#if wxUSE_DIRECTSHOW #if wxUSE_DIRECTSHOW
wxDXMediaCtrlImpl::wxDXMediaCtrlImpl() : m_pGB(NULL) wxDXMediaCtrlImpl::wxDXMediaCtrlImpl() : m_pGB(NULL)
{ {
@@ -409,14 +409,14 @@ bool wxDXMediaCtrlImpl::Create(wxMediaCtrl* ctrl)
bool wxDXMediaCtrlImpl::Load(const wxString& fileName) bool wxDXMediaCtrlImpl::Load(const wxString& fileName)
{ {
if(m_bLoaded) if(m_bLoaded)
Cleanup(); Cleanup();
SAFE_RELEASE(m_pGB); SAFE_RELEASE(m_pGB);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void**)&m_pGB); IID_IGraphBuilder, (void**)&m_pGB);
//load the graph & render //load the graph & render
if( FAILED(m_pGB->RenderFile(fileName.wc_str(wxConvLocal), NULL)) ) if( FAILED(m_pGB->RenderFile(fileName.wc_str(wxConvLocal), NULL)) )
return false; return false;
@@ -440,7 +440,7 @@ bool wxDXMediaCtrlImpl::Load(const wxString& fileName)
nSX = nSY = 0; nSX = nSY = 0;
} }
else else
{ {
m_bVideo = true; m_bVideo = true;
} }
@@ -505,9 +505,9 @@ bool wxDXMediaCtrlImpl::SetPosition(long where)
LONGLONG pos = ((LONGLONG)where) * 10000; LONGLONG pos = ((LONGLONG)where) * 10000;
return SUCCEEDED( m_pMS->SetPositions( return SUCCEEDED( m_pMS->SetPositions(
&pos, &pos,
AM_SEEKING_AbsolutePositioning, AM_SEEKING_AbsolutePositioning,
NULL, NULL,
AM_SEEKING_NoPositioning AM_SEEKING_NoPositioning
) ); ) );
} }
@@ -536,7 +536,7 @@ wxMediaState wxDXMediaCtrlImpl::GetState()
HRESULT hr; HRESULT hr;
OAFilterState theState; OAFilterState theState;
hr = m_pMC->GetState(INFINITE, &theState); hr = m_pMC->GetState(INFINITE, &theState);
wxASSERT( SUCCEEDED(hr) ); wxASSERT( SUCCEEDED(hr) );
//MSW state is the same as ours //MSW state is the same as ours
@@ -568,8 +568,8 @@ bool wxDXMediaCtrlImpl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lPa
// Process all queued events // Process all queued events
while(SUCCEEDED(m_pME->GetEvent(&evCode, (LONG_PTR *) &evParam1, while(SUCCEEDED(m_pME->GetEvent(&evCode, (LONG_PTR *) &evParam1,
(LONG_PTR *) &evParam2, 0) (LONG_PTR *) &evParam2, 0)
) )
) )
{ {
// Free memory associated with callback, since we're not using it // Free memory associated with callback, since we're not using it
@@ -589,7 +589,7 @@ bool wxDXMediaCtrlImpl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lPa
wxMediaEvent theEvent(wxEVT_MEDIA_FINISHED, m_ctrl->GetId()); wxMediaEvent theEvent(wxEVT_MEDIA_FINISHED, m_ctrl->GetId());
m_ctrl->GetParent()->ProcessEvent(theEvent); m_ctrl->GetParent()->ProcessEvent(theEvent);
} }
} }
return true; return true;
} }
return false; return false;
@@ -692,7 +692,7 @@ wxWMMEMediaCtrlImpl::wxWMMEMediaCtrlImpl() : m_bVideo(false)
/* TCHAR sz[5000]; /* TCHAR sz[5000];
mciGetErrorString(nError, sz, 5000); mciGetErrorString(nError, sz, 5000);
wxMessageBox(wxString::Format(_T("Error:%s"), sz)); wxMessageBox(wxString::Format(_T("Error:%s"), sz));
*/ */
} }
wxWMMEMediaCtrlImpl::~wxWMMEMediaCtrlImpl() wxWMMEMediaCtrlImpl::~wxWMMEMediaCtrlImpl()
@@ -701,7 +701,7 @@ wxWMMEMediaCtrlImpl::~wxWMMEMediaCtrlImpl()
} }
bool wxWMMEMediaCtrlImpl::Create(wxMediaCtrl* ctrl) bool wxWMMEMediaCtrlImpl::Create(wxMediaCtrl* ctrl)
{ {
m_ctrl = ctrl; m_ctrl = ctrl;
return true; return true;
} }
@@ -720,7 +720,7 @@ bool wxWMMEMediaCtrlImpl::Load(const wxString& fileName)
//then it actually automagically finds the device for you! //then it actually automagically finds the device for you!
if ( mciSendCommand(0, MCI_OPEN, if ( mciSendCommand(0, MCI_OPEN,
MCI_OPEN_ELEMENT, MCI_OPEN_ELEMENT,
(DWORD)(LPVOID)&openParms) != 0) (DWORD)(LPVOID)&openParms) != 0)
return false; return false;
m_hDev = openParms.wDeviceID; m_hDev = openParms.wDeviceID;
@@ -737,7 +737,7 @@ bool wxWMMEMediaCtrlImpl::Load(const wxString& fileName)
windowParms.hWnd = (HWND)m_ctrl->GetHandle(); windowParms.hWnd = (HWND)m_ctrl->GetHandle();
m_bVideo = (mciSendCommand(m_hDev, MCI_WINDOW, m_bVideo = (mciSendCommand(m_hDev, MCI_WINDOW,
0x00010000L //MCI_DGV_WINDOW_HWND 0x00010000L //MCI_DGV_WINDOW_HWND
, ,
(DWORD)(LPVOID)&windowParms) == 0); (DWORD)(LPVOID)&windowParms) == 0);
m_bLoaded = true; m_bLoaded = true;
@@ -746,7 +746,7 @@ bool wxWMMEMediaCtrlImpl::Load(const wxString& fileName)
m_ctrl->GetParent()->Layout(); m_ctrl->GetParent()->Layout();
m_ctrl->GetParent()->Refresh(); m_ctrl->GetParent()->Refresh();
m_ctrl->GetParent()->Update(); m_ctrl->GetParent()->Update();
return true; return true;
} }
@@ -812,9 +812,9 @@ bool wxWMMEMediaCtrlImpl::SetPosition(long where)
long wxWMMEMediaCtrlImpl::GetPosition() long wxWMMEMediaCtrlImpl::GetPosition()
{ {
MCI_STATUS_PARMS statusParms; MCI_STATUS_PARMS statusParms;
statusParms.dwItem = MCI_STATUS_POSITION; statusParms.dwItem = MCI_STATUS_POSITION;
if (mciSendCommand(m_hDev, MCI_STATUS, MCI_STATUS_ITEM, if (mciSendCommand(m_hDev, MCI_STATUS, MCI_STATUS_ITEM,
(DWORD)(LPSTR)&statusParms) != 0) (DWORD)(LPSTR)&statusParms) != 0)
return 0; return 0;
@@ -824,9 +824,9 @@ long wxWMMEMediaCtrlImpl::GetPosition()
long wxWMMEMediaCtrlImpl::GetDuration() long wxWMMEMediaCtrlImpl::GetDuration()
{ {
MCI_STATUS_PARMS statusParms; MCI_STATUS_PARMS statusParms;
statusParms.dwItem = MCI_STATUS_LENGTH; statusParms.dwItem = MCI_STATUS_LENGTH;
if (mciSendCommand(m_hDev, MCI_STATUS, MCI_STATUS_ITEM, if (mciSendCommand(m_hDev, MCI_STATUS, MCI_STATUS_ITEM,
(DWORD)(LPSTR)&statusParms) != 0) (DWORD)(LPSTR)&statusParms) != 0)
return 0; return 0;
@@ -841,10 +841,10 @@ wxSize wxWMMEMediaCtrlImpl::DoGetBestSize() const
{ {
if(m_bVideo) if(m_bVideo)
{ {
MCI_DGV_RECT_PARMS rect; MCI_DGV_RECT_PARMS rect;
mciSendCommand(m_hDev, MCI_WHERE, 0x00020000L//MCI_DGV_WHERE_SOURCE mciSendCommand(m_hDev, MCI_WHERE, 0x00020000L//MCI_DGV_WHERE_SOURCE
, ,
(DWORD)(LPSTR)&rect); (DWORD)(LPSTR)&rect);
return wxSize(rect.rc.right, rect.rc.bottom); return wxSize(rect.rc.right, rect.rc.bottom);
} }
@@ -882,4 +882,5 @@ bool wxWMMEMediaCtrlImpl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM l
return false; return false;
} }
#endif //wxUSE_MEDIACTRL #endif //wxUSE_MEDIACTRL