|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object fr.emn.reactiveinput.AbstractDevice fr.emn.reactiveinput.AbstractMutableDevice fr.emn.reactiveinput.devices.DToolglass
Field Summary | |
In |
change
|
Out |
notool
|
Out[] |
tool
|
In |
transparency
|
In |
x
|
In |
xselect
|
Out |
xthru
|
In |
y
|
In |
yselect
|
Out |
ythru
|
Fields inherited from class fr.emn.reactiveinput.AbstractDevice |
currIndex, ins, outs |
Fields inherited from interface fr.emn.reactiveinput.Device |
AUTO_PROPERTIES |
Constructor Summary | |
DToolglass()
Do not use this constructor |
Method Summary | |
void |
close()
Closes the device. |
int |
getColumns()
|
double |
getDefaultTransparency()
|
ImageEnum[] |
getImages()
|
static javax.swing.ImageIcon[] |
getImgs(ImageEnum[] imagerefs)
|
Slot[] |
getMutationTriggers()
Returns the mutation triggers for this mutable device, i.e. all input or output slots that trigger a mutation when it is connected to another type. |
boolean |
getScreenCoordinates()
|
boolean |
hasExternalOutput()
Specifies whether this device has external (implicit) output or not. |
void |
mutate()
Perform a mutation on this device. |
Processor |
open(OpenContext context)
Ensures that the device will be ready for processing or producing data, and returns the Processor object that will process data, or null if an error occured. |
void |
setColumns(int count)
|
void |
setDefaultTransparency(double def)
|
void |
setImages(ImageEnum[] imagerefs)
|
void |
setScreenCoordinates(boolean value)
|
void |
update()
Updates device's output values. |
Methods inherited from class fr.emn.reactiveinput.AbstractMutableDevice |
addMutableIn, addMutableIn, addMutableIn, addMutableOut, addMutableOut, remove |
Methods inherited from class fr.emn.reactiveinput.AbstractDevice |
addIn, addIn, addOut, copy, doDisable, doEnable, finalize, getError, getIndex, getInfo, getIns, getName, getOuts, getProperties, hasExternalInput, init, insertAt, insertAtEnd, insertBefore, isCopiable, isEnabled, isOpenable, setEnabled, setInfo, setInfo, setLastError, setName |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface fr.emn.reactiveinput.Device |
copy, getError, getInfo, getIns, getName, getOuts, getProperties, hasExternalInput, isCopiable, isOpenable, setEnabled |
Field Detail |
public final In x
public final In y
public final In change
public final In xselect
public final In yselect
public final In transparency
public final Out xthru
public final Out ythru
public final Out notool
public final Out[] tool
Constructor Detail |
public DToolglass()
Method Detail |
public Processor open(OpenContext context)
Device
Some devices may need to perform some more or less heavy initialization (such as allocating resources or opening a stream) before being able to process or produce data. This is the case for most input devices, and some I/O and output devices. All these initializations must be done in the open() method.
Because these initializations are subject to fail, open() may return null even if isOpenable() returns true. In all cases, returning a non-null Processor means that the device is now able to process or produce data.
RE-OPENING A DEVICE:
Devices always stay open during reconfiguration, in order to avoid unnecessary deallocation and reallocation of resources. However, some devices will need to be re-open before re-starting the configuration. So open() is always called on all devices before re-starting.
If open() is called on a device that is already open, it may have no effect (and the current Processor is returned), or the device may be re-open if something has changed in its configuration.
Using a Processor as a return value allows the use of different processors, each adapted to a specific device configuration.
open
in interface Device
open
in class AbstractDevice
Processor
,
Device.open()
public void close()
Device
Deallocate resources here.
close
in interface Device
close
in class AbstractDevice
public ImageEnum[] getImages()
public static javax.swing.ImageIcon[] getImgs(ImageEnum[] imagerefs)
public boolean getScreenCoordinates()
public int getColumns()
public void setColumns(int count)
public double getDefaultTransparency()
public void setDefaultTransparency(double def)
public boolean hasExternalOutput()
Device
Return false if the device has no border effects. Most of input and processing devices are in this case.
Return true if the device has border effects, such as graphical feedback, or control of some external value. Examples of devices with external output are application-interfacing devices and all user feedback devices.
This method can be used by the editor for the device's graphical representation. However this makes no difference for the reactive machine.
hasExternalOutput
in interface Device
hasExternalOutput
in class AbstractDevice
public void setImages(ImageEnum[] imagerefs)
public void setScreenCoordinates(boolean value)
public Slot[] getMutationTriggers()
AbstractMutableDevice
getMutationTriggers
in interface MutableDevice
getMutationTriggers
in class AbstractMutableDevice
public void mutate()
AbstractMutableDevice
Add mutation code here.
mutate
in interface MutableDevice
mutate
in class AbstractMutableDevice
public void update()
AbstractDevice
Subclass init() and update() methods if you want the device to process the data itself. Otherwise, subclass getProcessor() method to use extern processors.
update
in interface Processor
update
in class AbstractDevice
Processor.update()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |