Inheritance diagram for PlayElement::
Public Methods | |
PlayElement () | |
HxCorba.ImageRep | computeResult () |
void | componentAdded (ContainerEvent e) |
void | componentRemoved (ContainerEvent e) |
void | keyPressed () |
void | animationStep () |
boolean | continueAnimation () |
|
00023 { 00024 int marginLF = 0; 00025 int marginUP = 0; 00026 int marginRG = KeyComponent.componentSize().width / 2 - 10; 00027 int marginDW = ImageElement.componentSize().height / 2; 00028 int machineW = 114; 00029 int machineH = 90; 00030 00031 setSize(marginLF+machineW+marginRG, marginUP+machineH+marginDW); 00032 setMachineImage(Images.player, marginLF, marginUP, machineW, machineH); 00033 00034 _props = new PlayProperties(); 00035 _props.length = 0; 00036 _props.pos = -1; 00037 00038 _output = createOutputSocket(0, 5); 00039 _input = createInputSocket(marginLF+22, marginUP + machineH - marginDW - 2); 00040 _propComp = createPropertyComponent(_props, marginLF+58, marginUP + 62, 35); 00041 _key = createKeyComponent(marginLF+machineW-marginRG-27, marginUP + 5); 00042 _display = createDisplayComponent(marginLF+22, marginUP+4, 70, 47); 00043 00044 _conMgr = new ConnectorManager(this, _output); 00045 _conMgr.setColor(Color.orange); 00046 _conMgr.createConnector("Player frame"); 00047 00048 _input.addContainerListener(this); 00049 } |
|
Reimplemented from ConnectorMachine.
00053 { 00054 if(_input == null) return null; 00055 return _input.getImageRep(); 00056 } |
|
00059 { 00060 if(e.getContainer() != _input) return; 00061 00062 ImageElement elem = (ImageElement)e.getChild(); 00063 00064 if(elem instanceof VideoElement) { 00065 _velem = (VideoElement)elem; 00066 _props.pos = _velem.getFrameNumber(); 00067 _props.length = _velem.getVideo().nrFrames(); 00068 }else if(elem instanceof ConnectorElement) { 00069 _props.pos = -1; 00070 _props.length = 0; 00071 }else if(elem.getImageRep() != null) { 00072 _props.pos = 0; 00073 _props.length = 1; 00074 }else { 00075 _props.pos = -1; 00076 _props.length = 0; 00077 } 00078 00079 _propComp.repaint(); 00080 if(_props.pos != -1) 00081 _display.showImage(elem.getImageRep()); 00082 } |
|
00085 { 00086 if(e.getChild() == this) _conMgr.freeConnector(); 00087 00088 if(e.getContainer() != _input) return; 00089 00090 _props.pos = -1; 00091 _props.length = 0; 00092 _video = null; 00093 _velem = null; 00094 _working = false; 00095 _display.clear(); 00096 } |
|
Reimplemented from AnimatedMachine.
00100 { 00101 if(_velem == null) return; 00102 00103 _working = !_working; 00104 00105 if(_working) { 00106 //machine started 00107 _video = _velem.getVideo(); 00108 _key.startAnimation(20); 00109 } else 00110 //stopped 00111 _velem.setFrame(_props.pos); 00112 } |
|
Reimplemented from AnimatedMachine.
00116 { 00117 if(_velem == null) return; 00118 00119 _props.pos++; 00120 if(_props.pos >= _video.nrFrames()) { 00121 _props.pos = _video.nrFrames()-1; 00122 _velem.setFrame(_props.pos); 00123 _working = false; 00124 } 00125 else { 00126 _display.showImage(_video.getFrame(_props.pos)); 00127 } 00128 _propComp.repaint(); 00129 } |
|
Reimplemented from AnimatedMachine.
00133 { 00134 return (_working && (_velem != null)); 00135 } |