This widget is used to display rapid frames for an RtdImage widget. A rapid frame is an instance of a RtdImage widget that displays a small section of the main image and can be updated faster with real-time images because it is smaller than the main image. The area in the main image being used for the rapid frame is marked with one black and one white dashed rectangle. The rapid frame can be moved or resized in in the same way as any other graphic objects by dragging with the left mouse button over it or on one of the 8 resize handles displayed around it when it is selected. One of the dashed rectangles shows the current position of the rapid frame while the other one shows the new position and size being set. Two types of rapid frames are supported. The first type is an RtdImage "view" of the main image embedded into its canvas window at a given x,y offset, so that it appears that main image is being updated more frequently inside the dashed box. In this case, the rapid frame is a separate rtdimage canvas image item in the same canvas with the main image, but at a different offset. The second type of rapid frame is displayed in a popup window and is implemented by the class RtdImagePopup(n). Creating and manipulating a rapid frame usually involves communication with the rtdServer and camera, to tell the camera to start sending images at the given rate from the given area. Since this is very application specific, you can arrange to have your own Tcl command evaluated whenever a rapid frame is created, moved, resized or deleted. See the RtdImage(n) -rapid_frame_command option for how to do this. Note that currently, only one rapid frame is allowed at a time. Creating a second one automatically deletes the first. This may be changed in a future release.
-command Tcl command to be evaluated whenever the frame is created moved, resized or deleted: 7 args will be appended: frameId = unique rapid frame id for use with rtdServer name = unique name for the frame op = {move,resize or delete} x, y = coords of upper left corner of frame in image width, height = dimensions of frame. -height Height of image frame. -region_id Canvas id of the (region) object used to position and move the image in the canvas. -subsample Flag: if true, pan image is "subsampled" when shrinking, otherwise the pixels are averaged. -target_image Target rtdimage. -usexshm X shared memory option. -usexsync X synchronisation option. -verbose Flag: if true, print diagnostic messages. -width Width of image frame. -xoffset X offset of image frame. -yoffset Y offset of image frame.
get_image {} Return the name of the underlying rtdimage object. notify_cmd {op args} This method is called (from the main image's CanvasDraw(n) widget) whenever an embedded rapid frame is moved, resized or deleted. If the "-command" option was given to this class, then that tcl command is evaluated with the frameId, operation name (move, resize, delete) the x, y coords and the width and height of the frame.
init {} This method is called from the base class (FrameWidget) after all the options have been evaluated.
canvas_ Canvas window containing rapid frame image . draw_ CanvasDraw object, for setting up move, resize operations on embedded image. frameId_ Rapid frame Id, needed to communicate with rtdServer. imageId_ Canvas image id. image_ Internal rtdimage for rapid frame. rectId_ Canvas id of rectangle used to get events for moving/resizing image. target_image_ Target internal rtdimage.
Please send questions or comments to abrighto@eso.org.
Copyright © 1998 ESO - European Southern Observatory