title Mouse Control: Moves and conversion Nov 23 1991 keys Next Page:%2 Final Page:%C Home Page:!Home Local Home:!1 Pums and Icons:Icons Pen Types Table:%2 More Types:%3 Even More Types:%4 Main Pum:MainPum ~ Text Drawing vectors and note vectors in Vapor Paint is generally done with the mouse or whatever appears to be a mouse to Intuition. You can also draw with commands sent to the AREXX port. When the mouse is used for drawing on the workscreen, the Raw mouse moves are converted into floating point and turned into appropriate objects and operations. This roughly corresponds to what happens in other paint programs, except that it is not a drawn line which results but the gesture of the drawing of the line. Why do this? Well, most pointing devices don't have the number of degrees of freedom necessary for creating 6-dimensional datastreams in realtime. My basic vertice is 6D, so all gestures must know what to do with the dimensions which aren't directly drawn in. This is why the "raw mouse" moves need to be converted . At rendering time, the gesture-vectors are converted into honest-to-god pixels, using the vector Pens . ~ section 2 keys Next Page:%3 Previous Page:%1 ~ text Vapor Paint has a generic method for selecting conversion pens, which may be a bit confusing. Rawmouse conversion Pens are selected via a Matrix of pairs of F-keys and shifted F-Keys. The Left F-keys (F1..F5) control one "axis" and the right F-Keys (F6..F10) control the other. Think of the left F-keys as the major category and the Right F-keys as a subcategory. Here are all the currently available "Mouse conversion pens" and what they "look like on the screen" Selecting and grid-setting kinds of things: F1 F6 Unknown pen Trace F1 F7 Select Vectors Box F1 F8 DeSelect Vectors Box F1 F9 Baseline Scaling Line F1 F10 Set Grid Box ~ section 3 keys Next Page:%4 Previous Page:%2 ~ text Drawing tools: F2 F6 Vector (Default) Trace F2 F7 Note Vector Trace F2 F8 Straight Line Trace F2 F9 Vector Model Trace* F2 F10 Dist to Rad/Mass Trace F2 SF6 Cheap vector Trace F2 SF7 Note Vector St Trace F2 SF8 Text Box Box Moving, rescaling operations F3 F6 Vector Move Line F3 F7 Vector Rotate Line F3 F8 Group Warp Trace F3 F9 Clip Warp Trace Editing vectors F4 F6 Re-Draw Vector Trace F4 F7 Re-Draw Radius Trace F4 F8 Re-Draw Mass Trace F4 F9 Re-Do Partially trace F4 SF6 Straight ReDraw trace* F4 SF7 Straight Redo Radius trace* F4 SF8 Straight Redo Mass trace* ~ section 4 keys Next Page:%5 Previous Page:%3 ~ text Editing vertices F5 F6 Grip Move Line F5 F7 Grip Drag Line All other combinations result in "unknown pen". The "shifted" F-keys also will be part of this scheme. This gives 26 out of a possible 100 pens. Here, the feedback methods are elaborated upon: When in a Trace, pressing the left mousebutton will start the raw mouse recording, and releasing it will stop the recording. Pressing the Right mousebutton will do a Select operation on the endpoints of the vertices of the screen (which will show a bound box around the vector which is selected). ~ section 5 keys Next Page:%6 Previous Page:%4 ~ text When drawing straight lines, you create the vertices with the left button , and the one after that, etc. until you press the right button. One of the reasons to avoid segmented drawing is that the timestamp information is wildly inaccurate after such an operation, since you spend a lot of time hunting about for the next point.(You may want to remap the time via the TAB key) In a Line mode, the line rubberbands from the original left-button down spot to the latest spot until the button is let up. In a Box mode, a bound box Rubberbands from the left-button's depression until the left button's release. ~ section 6 keys Next Page:%7 Previous Page:%5 ~ text More details on the conversion pens themselves: Selecting and grid-setting kinds of things: F1 F6 Unknown pen Trace Although this pen technically does nothing, this does not make this pen useless! The trace left behind it can be used to rough out the drawing at an even earlier stage than a note vector, or can provide other disposable notes. Also, the last vector drawn is usually shown after a screen refresh. F1 F7 Select Vectors Box F1 F8 DeSelect Vectors Box Every vector (or Iconic element) remembered in Vapor Paint can be unselected, selected , visible or hidden. Some operations on vectors require them to be selected, and often they are near each other. After a Select vector operation, the vectors with endpoints in the select box are selected. Similarly with deselect. Note that only vectors,views and note vectors are selected this way. ~ section 7 keys Next Page:%8 Previous Page:%6 ~ text (I've buried these two, not very useful functions here) F1 F9 Baseline Scaling Line As a mouse-oriented method for navigating the screen, I've come up with baseline scaling. The line you draw on the screen is roughly scaled to fit in a half screensized rectangle, centered on its center, when the screen redraws, which is does immediately. Fun, but the keypad is faster and more repeatable. F1 F10 Set Grid Box Vapor paint has a Grid locking facility, which would be nicer if I drew more straight lines. This conversion pen sets the grid size. The G key toggles the grid on and off. Again, this is a great timestamp-scrambler and redundant point maker. By default, the grid is 1/100 in all dimensions.(yes, you can grid radius etc. but this is also foolish.) ~ section 8 keys Next Page:%9 Previous Page:%7 ~ text Drawing tools: F2 F6 Vector (Default) Trace When you draw you have complete control over 2 of the 5 of the editable vertice dimensions (and implicitly, over the last, timestamp) The Default pen just stuffs standardized values in the dimensions which you aren't drawing. The Defaults are available for editing themselves in the "Main Pum" (see: Icons, Main Pum).After each vector is drawn, it is registered with a [V] Icon. F2 F7 Note Vector Trace Note vectors are similar to default vectors but are used for making notations which will not be rendered by the main renderer. Note vectors can be interpolated. However, to lower screen confusion, they don't show their radius and mass coordinates line normal vectors do. Note vectors show up as [NV] Icons. F2 F8 Cheap Vector Trace The Cheap vector tries to keep only non-colinear points. The idea is to lower the redundancy in the vector. However, this ruins the timestamp, as usual. F2 SF7 Note Vector St Line A Straight Line version of note vector. Useful for grids and spines. ~ section 9 keys Next Page:%A Previous Page:%8 ~ text F2 SF8 Text Box Box You draw a box which is the character size. Then a requester comes where you can type in a phrase. The prase is quickly drawn on the screen in a cheap stroke font. If the phrase begins with *, the rest is taken as a filename for the real text. F2 F9 Vector Model Trace This pen uses the raw mouse moves to re-scale a chosen "model" vector. A model vector is a vector which has been crafted to the desired 6-d shape and saved in a (non-volatile!) [M] Icon (up next to the [A] Icon in the tree of Icons...) by pressing Shift-M. You can save any number of these models (under 134 million, that is) and select it by using the M key while the Icon of the model vector is "in view". (see pums and Icons) This model vector is then used to provide default values which are used in the non-raw mouse dimensions. Thus, copies of vector with a certain radius contour can be transformed all about the screen. F2 F10 Dist to Rad/Mass trace This again starts with defaults, but it takes a special "attitude" toward the radius and the mass dimensions. After the line is drawn, the length of each line segment is rescaled and used for the vertices mass and radius coordinates. Thus, long, quickly drawn lines are fatter and heavier than short, slowly drawn lines. By changing the default radius and mass in the "main pum" you can change the scale factor for distance to Mass and Radius. ~ section A keys Next Page:%B Previous Page:%9 ~ text Conversion Pens: Moving, rescaling operations F3 F6 Vector Move Line This operation works on a selected set of vectors or on a current, unselected vector. All selected vectors are moved in the same direction and distance as the raw mouse line. It works the same way with a view. F3 F7 Vector Rotate Line This operation is a three in one tool: it translates, rotates and scales a selected set of vectors (or an unselected current vector) The trick is that the current vector's start and end points are remapped to the rawmouse start and end points, and the same transformation is applied to all the other selected vectors. The same goes for Views. F3 F8 Group Warp Line This complicated operation takes a selected group of vectors and pretends that there is a spine from the first to the last vertice of the "current" vector, and uses the new Raw mouse line to warp the vertices along its path. A kind of multi-line redraw line. Note: Maps to length, not timestamp. F3 F9 Clip Warp Line This operation is very much like Group Warp, except it pastes a clipped set of icons, and then transforms them, taking as the spine the last [NV] in the set. Find out about clipping before using this. ~ section B keys Next Page:%C Previous Page:%A ~ text Editing vectors F4 F6 Re-Draw Vector Trace F4 SF6 Straigh Re-Draw Vector Trace This is the method used for re-drawing lines on the screen. The chosen vector is remapped to correspond to the raw mouse's shape in the current workspace dimensions. The interesting part is that the remapping is done on the basis of the timestamps of the points involved! By altering the speed of the raw-mouse moves, you can get totally different remappings, in an intuitive and organic looking way. This is also the best way to transform key frames into the next key frame. In fact, there is an option toggle, "shift-1" which automatically advances you to the next Icon in the current key frame after each use of "f4.f6". F4 F7 Re-Draw Radius Trace F4 SF7 Straight Re-Draw Radius Trace This tool will remap the radius to the distance from the current line to the raw mouse line, roughly. The mapping is a lengthwise on (time-wise was too unpredictable). ~ section C keys This Is The Last:%C Previous Page:%B ~ text F4 F8 Re-Draw Mass Trace F4 SF8 Straight Re-Draw Mass Trace This tool remaps the mass coordinte in the same way as the previous tool maps the radius. F4 F9 Re-Do Partially trace Very much like 46, but more useful in fixing up middle parts of lines. only the parts of the line closest to the raw mouse line endpoints will be remapped! If the start coord is earlier than the end, nothing happens. Editing vertices F5 F6 Grip Move Line An Invididual vertice closest to the starting point of the raw mouse line will be moved to the endpoint of the rawmouse line in the current workspace dimensions. F5 F7 Grip Drag Line Another nearly useless one, this applies a poor version of finite element analysis to the problem of moving the point while keeping the line lengths constant! doesn't really do it, but if it did - wow! (I need to fix up its math) You would then be able to drag lines around the screen like pieces of string. The mouse also gives you access to the three "menu pums" and the "secret exits". More about them in "Pums and Icons" and Main Pum. ~