]> git.saurik.com Git - wxWidgets.git/commitdiff
wxMediaCtrl in wxSplashScreen presentation.
authorWłodzimierz Skiba <abx@abx.art.pl>
Wed, 24 Nov 2004 15:43:56 +0000 (15:43 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Wed, 24 Nov 2004 15:43:56 +0000 (15:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/splash/press.mpg [new file with mode: 0644]
samples/splash/press.pov [new file with mode: 0644]
samples/splash/splash.bkl
samples/splash/splash.cpp

diff --git a/samples/splash/press.mpg b/samples/splash/press.mpg
new file mode 100644 (file)
index 0000000..2f46c38
Binary files /dev/null and b/samples/splash/press.mpg differ
diff --git a/samples/splash/press.pov b/samples/splash/press.pov
new file mode 100644 (file)
index 0000000..0932857
--- /dev/null
@@ -0,0 +1,80 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        press.pov
+// Purpose:     POV-Ray scene used to generate clip for splash
+// Author:      Wlodzimierz ABX Skiba
+// Modified by:
+// Created:     24/11/2004
+// RCS-ID:      $Id$
+// Copyright:   (c) Wlodzimierz Skiba
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+            
+#version 3.6;
+
+// Rendering options : +FN +W80 +H60 +AM1 +A0.05 +R5 +J0 +KFF99
+
+#include "colors.inc"
+#include "rad_def.inc"
+
+global_settings {
+    assumed_gamma 1.0
+    max_trace_level 100
+}
+
+background { colour White }
+
+#declare Texts = array[ 3 ];
+
+#declare Texts[0] = "PRESS";
+#declare Texts[1] = "ANY";
+#declare Texts[2] = "KEY";
+
+camera{ orthographic look_at .5 location .5-z right 1.05*x up 1.05*y }
+
+#declare Items = dimension_size( Texts , 1 );
+#declare Objects = array[ Items + 1 ];
+
+#declare f_line = function(x,xa,ya,xb,yb){((yb-ya)/(xb-xa))*(x-xa)+ya};
+
+#declare Counter = 0;
+#while ( Counter <= Items )
+    #if ( Counter < Items )
+        #declare Object = text{ ttf "crystal.ttf" Texts[ Counter ] 1 0 };
+    #else
+        #declare Object = Objects[ Items ];
+    #end
+
+    #declare M = max_extent( Object );
+    #declare m = min_extent( Object );
+    #declare S = M - m;
+    #declare Objects[ Counter ] = object{ Object translate -m + z*Counter scale <1/S.x,1/S.y,1> };
+    #declare Objects[ Items ] = 
+        #if ( Counter = 0 | Counter = Items )
+            object{
+        #else
+            union{
+                object{ Objects[ Items ] translate y*1.1 }
+        #end
+                object{ Objects[ Counter ] }
+            };
+    
+    #declare X0=Counter/(Items+1);
+    #declare Y0=0;
+    #declare X1=(Counter+1)/(Items+1);
+    #declare Y1=1;
+    #declare X2=(Counter+2)/(Items+1);
+    #declare Y2=0;
+
+    #declare increase=f_line(clock,X0,Y0,X1,Y1);    
+    #declare decrease=f_line(clock,X1,Y1,X2,Y2);    
+    #declare change=min(increase,decrease);
+    #declare level=max(change,0);
+
+    object{
+        Objects[ Counter ]
+        pigment{ rgb level transmit 1-level }
+    } 
+    #declare Counter = Counter + 1;
+#end 
+
index 856b3c4528962506b4f623be377cf51b2bcdf119..44b52eb4e444a375c30b6cd4b0142fd87bcdab84 100644 (file)
         <wx-lib>adv</wx-lib>
         <wx-lib>core</wx-lib>
         <wx-lib>base</wx-lib>
+        <wx-lib>media</wx-lib>
         <win32-res>../sample.rc</win32-res>
     </exe>
 
     <wx-data id="data">
-        <files>splash.png</files>
+        <files>splash.png press.mpg</files>
     </wx-data>
 
 </makefile>
index 4791c1f4c03474f156c690fc4ce0e2d8bc3f9b55..290058ca79d092417ac25b70ce0649cb8446405f 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "wx/image.h"
 #include "wx/splash.h"
+#include "wx/mediactrl.h"
 
 // ----------------------------------------------------------------------------
 // resources
@@ -194,16 +195,23 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
     {
         wxImage image = bitmap.ConvertToImage();
         image.Rescale( bitmap.GetWidth()/2, bitmap.GetHeight()/2 );
-        bitmap = wxBitmap(image); 
+        bitmap = wxBitmap(image);
         wxSplashScreen *splash = new wxSplashScreen(bitmap,
             wxSPLASH_CENTRE_ON_PARENT | wxSPLASH_NO_TIMEOUT,
             0, this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
             wxSIMPLE_BORDER|wxSTAY_ON_TOP);
-        wxStaticText *text = new wxStaticText( splash->GetSplashWindow(), wxID_EXIT, _T("click somewhere\non image"), wxPoint(13,11) );
+        wxWindow *win = splash->GetSplashWindow();
+#if wxUSE_MEDIACTRL
+        wxMediaCtrl *media = new wxMediaCtrl( win, wxID_EXIT, _T("press.mpg"), wxPoint(2,2));
+        media->SetSize(wxSize(80,60));
+        media->Play();
+#else
+        wxStaticText *text = new wxStaticText( win, wxID_EXIT, _T("click somewhere\non image"), wxPoint(13,11) );
         text->SetBackgroundColour(*wxWHITE);
         text->SetForegroundColour(*wxBLACK);
         wxFont font = text->GetFont();
         font.SetPointSize(2*font.GetPointSize()/3);
         text->SetFont(font);
+#endif
     }
 }