00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 @import "CPDOMWindowBridge.j"
00024 @import "CPFlashMovie.j"
00025 @import "CPView.j"
00026
00027
00028 @implementation CPFlashView : CPView
00029 {
00030 CPFlashMovie _flashMovie;
00031
00032 DOMElement _DOMEmbedElement;
00033 DOMElement _DOMMParamElement;
00034 DOMElement _DOMObjectElement;
00035 }
00036
00037 - (id)initWithFrame:(CGRect)aFrame
00038 {
00039 self = [super initWithFrame:aFrame];
00040
00041 if (self)
00042 {
00043 _DOMObjectElement = document.createElement("object");
00044 _DOMObjectElement.width = "100%";
00045 _DOMObjectElement.height = "100%";
00046 _DOMObjectElement.style.top = "0px";
00047 _DOMObjectElement.style.left = "0px";
00048
00049 _DOMParamElement = document.createElement("param");
00050 _DOMParamElement.name = "movie";
00051
00052 _DOMObjectElement.appendChild(_DOMParamElement);
00053
00054 var param = document.createElement("param");
00055
00056 param.name = "wmode";
00057 param.value = "transparent";
00058
00059 _DOMObjectElement.appendChild(param);
00060
00061 _DOMEmbedElement = document.createElement("embed");
00062
00063 _DOMEmbedElement.type = "application/x-shockwave-flash";
00064 _DOMEmbedElement.wmode = "transparent";
00065 _DOMEmbedElement.width = "100%";
00066 _DOMEmbedElement.height = "100%";
00067
00068
00069 _DOMElement.appendChild(_DOMEmbedElement);
00070
00071 _DOMElement.appendChild(_DOMObjectElement);
00072 }
00073
00074 return self;
00075 }
00076
00077 - (void)setFlashMovie:(CPFlashMovie)aFlashMovie
00078 {
00079 if (_flashMovie == aFlashMovie)
00080 return;
00081
00082 _flashMovie = aFlashMovie;
00083
00084 _DOMParamElement.value = aFlashMovie._fileName;
00085
00086 if (_DOMEmbedElement)
00087 _DOMEmbedElement.src = aFlashMovie._fileName;
00088 }
00089
00090 - (CPFlashMovie)flashMovie
00091 {
00092 return _flashMovie;
00093 }
00094
00095 - (void)mouseDragged:(CPEvent)anEvent
00096 {
00097 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00098 }
00099
00100 - (void)mouseDown:(CPEvent)anEvent
00101 {
00102 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00103 }
00104
00105 - (void)mouseUp:(CPEvent)anEvent
00106 {
00107 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00108 }
00109
00110 @end