1#---------------------------------------------------------------------- 2# Name: wx.lib.flashwin 3# Purpose: A class that allows the use of the Shockwave Flash 4# ActiveX control 5# 6# Author: Robin Dunn 7# 8# Created: 22-March-2004 9# Copyright: (c) 2008-2018 by Total Control Software 10# Licence: wxWindows license 11# Tags: phoenix-port 12#---------------------------------------------------------------------- 13 14import wx 15import wx.lib.activex 16import comtypes.client as cc 17 18import sys 19if not hasattr(sys, 'frozen'): 20 cc.GetModule( ('{D27CDB6B-AE6D-11CF-96B8-444553540000}', 1, 0) ) 21from comtypes.gen import ShockwaveFlashObjects 22 23 24clsID = '{D27CDB6E-AE6D-11CF-96B8-444553540000}' 25progID = 'ShockwaveFlash.ShockwaveFlash.1' 26 27 28 29class FlashWindow(wx.lib.activex.ActiveXCtrl): 30 def __init__(self, parent, id=-1, pos=wx.DefaultPosition, 31 size=wx.DefaultSize, style=0, name='FlashWindow'): 32 wx.lib.activex.ActiveXCtrl.__init__(self, parent, progID, 33 id, pos, size, style, name) 34 35 def SetZoomRect(self, left, top, right, bottom): 36 return self.ctrl.SetZoomRect(left, top, right, bottom) 37 38 def Zoom(self, factor): 39 return self.ctrl.Zoom(factor) 40 41 def Pan(self, x, y, mode): 42 return self.ctrl.Pan(x, y, mode) 43 44 def Play(self): 45 return self.ctrl.Play() 46 47 def Stop(self): 48 return self.ctrl.Stop() 49 50 def Back(self): 51 return self.ctrl.Back() 52 53 def Forward(self): 54 return self.ctrl.Forward() 55 56 def Rewind(self): 57 return self.ctrl.Rewind() 58 59 def StopPlay(self): 60 return self.ctrl.StopPlay() 61 62 def GotoFrame(self, FrameNum): 63 return self.ctrl.GotoFrame(FrameNum) 64 65 def CurrentFrame(self): 66 return self.ctrl.CurrentFrame() 67 68 def IsPlaying(self): 69 return self.ctrl.IsPlaying() 70 71 def PercentLoaded(self): 72 return self.ctrl.PercentLoaded() 73 74 def FrameLoaded(self, FrameNum): 75 return self.ctrl.FrameLoaded(FrameNum) 76 77 def FlashVersion(self): 78 return self.ctrl.FlashVersion() 79 80 def LoadMovie(self, layer, url): 81 return self.ctrl.LoadMovie(layer, url) 82 83 def TGotoFrame(self, target, FrameNum): 84 return self.ctrl.TGotoFrame(target, FrameNum) 85 86 def TGotoLabel(self, target, label): 87 return self.ctrl.TGotoLabel(target, label) 88 89 def TCurrentFrame(self, target): 90 return self.ctrl.TCurrentFrame(target) 91 92 def TCurrentLabel(self, target): 93 return self.ctrl.TCurrentLabel(target) 94 95 def TPlay(self, target): 96 return self.ctrl.TPlay(target) 97 98 def TStopPlay(self, target): 99 return self.ctrl.TStopPlay(target) 100 101 def SetVariable(self, name, value): 102 return self.ctrl.SetVariable(name, value) 103 104 def GetVariable(self, name): 105 return self.ctrl.GetVariable(name) 106 107 def TSetProperty(self, target, property, value): 108 return self.ctrl.TSetProperty(target, property, value) 109 110 def TGetProperty(self, target, property): 111 return self.ctrl.TGetProperty(target, property) 112 113 def TCallFrame(self, target, FrameNum): 114 return self.ctrl.TCallFrame(target, FrameNum) 115 116 def TCallLabel(self, target, label): 117 return self.ctrl.TCallLabel(target, label) 118 119 def TSetPropertyNum(self, target, property, value): 120 return self.ctrl.TSetPropertyNum(target, property, value) 121 122 def TGetPropertyNum(self, target, property): 123 return self.ctrl.TGetPropertyNum(target, property) 124 125 def TGetPropertyAsNumber(self, target, property): 126 return self.ctrl.TGetPropertyAsNumber(target, property) 127 128 # Getters, Setters and properties 129 def _get_ReadyState(self): 130 return self.ctrl.ReadyState 131 readystate = property(_get_ReadyState, None) 132 133 def _get_TotalFrames(self): 134 return self.ctrl.TotalFrames 135 totalframes = property(_get_TotalFrames, None) 136 137 def _get_Playing(self): 138 return self.ctrl.Playing 139 def _set_Playing(self, Playing): 140 self.ctrl.Playing = Playing 141 playing = property(_get_Playing, _set_Playing) 142 143 def _get_Quality(self): 144 return self.ctrl.Quality 145 def _set_Quality(self, Quality): 146 self.ctrl.Quality = Quality 147 quality = property(_get_Quality, _set_Quality) 148 149 def _get_ScaleMode(self): 150 return self.ctrl.ScaleMode 151 def _set_ScaleMode(self, ScaleMode): 152 self.ctrl.ScaleMode = ScaleMode 153 scalemode = property(_get_ScaleMode, _set_ScaleMode) 154 155 def _get_AlignMode(self): 156 return self.ctrl.AlignMode 157 def _set_AlignMode(self, AlignMode): 158 self.ctrl.AlignMode = AlignMode 159 alignmode = property(_get_AlignMode, _set_AlignMode) 160 161 def _get_BackgroundColor(self): 162 return self.ctrl.BackgroundColor 163 def _set_BackgroundColor(self, BackgroundColor): 164 self.ctrl.BackgroundColor = BackgroundColor 165 backgroundcolor = property(_get_BackgroundColor, _set_BackgroundColor) 166 167 def _get_Loop(self): 168 return self.ctrl.Loop 169 def _set_Loop(self, Loop): 170 self.ctrl.Loop = Loop 171 loop = property(_get_Loop, _set_Loop) 172 173 def _get_Movie(self): 174 return self.ctrl.Movie 175 def _set_Movie(self, Movie): 176 self.ctrl.Movie = Movie 177 movie = property(_get_Movie, _set_Movie) 178 179 def _get_FrameNum(self): 180 return self.ctrl.FrameNum 181 def _set_FrameNum(self, FrameNum): 182 self.ctrl.FrameNum = FrameNum 183 framenum = property(_get_FrameNum, _set_FrameNum) 184 185 def _get_WMode(self): 186 return self.ctrl.WMode 187 def _set_WMode(self, WMode): 188 self.ctrl.WMode = WMode 189 wmode = property(_get_WMode, _set_WMode) 190 191 def _get_SAlign(self): 192 return self.ctrl.SAlign 193 def _set_SAlign(self, SAlign): 194 self.ctrl.SAlign = SAlign 195 salign = property(_get_SAlign, _set_SAlign) 196 197 def _get_Menu(self): 198 return self.ctrl.Menu 199 def _set_Menu(self, Menu): 200 self.ctrl.Menu = Menu 201 menu = property(_get_Menu, _set_Menu) 202 203 def _get_Base(self): 204 return self.ctrl.Base 205 def _set_Base(self, Base): 206 self.ctrl.Base = Base 207 base = property(_get_Base, _set_Base) 208 209 def _get_Scale(self): 210 return self.ctrl.Scale 211 def _set_Scale(self, Scale): 212 self.ctrl.Scale = Scale 213 scale = property(_get_Scale, _set_Scale) 214 215 def _get_DeviceFont(self): 216 return self.ctrl.DeviceFont 217 def _set_DeviceFont(self, DeviceFont): 218 self.ctrl.DeviceFont = DeviceFont 219 devicefont = property(_get_DeviceFont, _set_DeviceFont) 220 221 def _get_EmbedMovie(self): 222 return self.ctrl.EmbedMovie 223 def _set_EmbedMovie(self, EmbedMovie): 224 self.ctrl.EmbedMovie = EmbedMovie 225 embedmovie = property(_get_EmbedMovie, _set_EmbedMovie) 226 227 def _get_BGColor(self): 228 return self.ctrl.BGColor 229 def _set_BGColor(self, BGColor): 230 self.ctrl.BGColor = BGColor 231 bgcolor = property(_get_BGColor, _set_BGColor) 232 233 def _get_Quality2(self): 234 return self.ctrl.Quality2 235 def _set_Quality2(self, Quality2): 236 self.ctrl.Quality2 = Quality2 237 quality2 = property(_get_Quality2, _set_Quality2) 238 239 def _get_SWRemote(self): 240 return self.ctrl.SWRemote 241 def _set_SWRemote(self, SWRemote): 242 self.ctrl.SWRemote = SWRemote 243 swremote = property(_get_SWRemote, _set_SWRemote) 244 245 def _get_FlashVars(self): 246 return self.ctrl.FlashVars 247 def _set_FlashVars(self, FlashVars): 248 self.ctrl.FlashVars = FlashVars 249 flashvars = property(_get_FlashVars, _set_FlashVars) 250 251 def _get_AllowScriptAccess(self): 252 return self.ctrl.AllowScriptAccess 253 def _set_AllowScriptAccess(self, AllowScriptAccess): 254 self.ctrl.AllowScriptAccess = AllowScriptAccess 255 allowscriptaccess = property(_get_AllowScriptAccess, _set_AllowScriptAccess) 256 257 def _get_MovieData(self): 258 return self.ctrl.MovieData 259 def _set_MovieData(self, MovieData): 260 self.ctrl.MovieData = MovieData 261 moviedata = property(_get_MovieData, _set_MovieData) 262 263