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
00030 @implementation CPFlashView : CPView
00031 {
00032 CPFlashMovie _flashMovie;
00033
00034 DOMElement _DOMEmbedElement;
00035 DOMElement _DOMMParamElement;
00036 DOMElement _DOMObjectElement;
00037 }
00038
00039 - (id)initWithFrame:(CGRect)aFrame
00040 {
00041 self = [super initWithFrame:aFrame];
00042
00043 if (self)
00044 {
00045 _DOMObjectElement = document.createElement("object");
00046 _DOMObjectElement.width = "100%";
00047 _DOMObjectElement.height = "100%";
00048 _DOMObjectElement.style.top = "0px";
00049 _DOMObjectElement.style.left = "0px";
00050
00051 _DOMParamElement = document.createElement("param");
00052 _DOMParamElement.name = "movie";
00053
00054 _DOMObjectElement.appendChild(_DOMParamElement);
00055
00056 var param = document.createElement("param");
00057
00058 param.name = "wmode";
00059 param.value = "transparent";
00060
00061 _DOMObjectElement.appendChild(param);
00062
00063 _DOMEmbedElement = document.createElement("embed");
00064
00065 _DOMEmbedElement.type = "application/x-shockwave-flash";
00066 _DOMEmbedElement.setAttribute("wmode", "transparent");
00067 _DOMEmbedElement.width = "100%";
00068 _DOMEmbedElement.height = "100%";
00069
00070
00071 _DOMElement.appendChild(_DOMEmbedElement);
00072
00073 _DOMElement.appendChild(_DOMObjectElement);
00074 }
00075
00076 return self;
00077 }
00078
00079 - (void)setFlashMovie:(CPFlashMovie)aFlashMovie
00080 {
00081 if (_flashMovie == aFlashMovie)
00082 return;
00083
00084 _flashMovie = aFlashMovie;
00085
00086 _DOMParamElement.value = aFlashMovie._fileName;
00087
00088 if (_DOMEmbedElement)
00089 _DOMEmbedElement.src = aFlashMovie._fileName;
00090 }
00091
00092 - (CPFlashMovie)flashMovie
00093 {
00094 return _flashMovie;
00095 }
00096
00097 - (void)mouseDragged:(CPEvent)anEvent
00098 {
00099 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00100 }
00101
00102 - (void)mouseDown:(CPEvent)anEvent
00103 {
00104 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00105 }
00106
00107 - (void)mouseUp:(CPEvent)anEvent
00108 {
00109 [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES];
00110 }
00111
00112 @end