Laxkit
0.0.7.1
|
Interface for dealing with ColorPatchData objects. More...
Public Member Functions | |
ColorPatchInterface (int nid, Laxkit::Displayer *ndp) | |
virtual | ~ColorPatchInterface () |
Empty destructor. | |
virtual Laxkit::ShortcutHandler * | GetShortcuts () |
virtual anInterface * | duplicate (anInterface *dup=NULL) |
virtual const char * | IconId () |
virtual const char * | Name () |
virtual const char * | whattype () |
virtual const char * | whatdatatype () |
virtual void | drawpatch (int roff, int coff) |
Draws one patch. | |
virtual void | drawControlPoint (int i) |
Draw a single point as a little filled colored circle. | |
virtual int | CharInput (unsigned int ch, const char *buffer, int len, unsigned int state, const Laxkit::LaxKeyboard *d) |
virtual int | DrawData (anObject *ndata, anObject *a1=NULL, anObject *a2=NULL, int info=0) |
virtual int | UseThisObject (ObjectContext *oc) |
virtual int | UseThis (anObject *newdata, unsigned int mask=0) |
virtual int | UseThis (int id, int ndata) |
virtual PatchData * | newPatchData (double xx, double yy, double ww, double hh, int nr, int nc, unsigned int stle) |
Return new local ColorPatchData. | |
virtual int | SelectPoint (int c, unsigned int state) |
Public Member Functions inherited from LaxInterfaces::PatchInterface | |
PatchInterface (int nid, Laxkit::Displayer *ndp) | |
virtual int | UseThis (Laxkit::anObject *newdata, unsigned int mask=0) |
virtual void | Clear (SomeData *d=NULL) |
Delete data, and flush curpoints. Make needtodraw=1. | |
virtual int | InterfaceOn () |
virtual int | InterfaceOff () |
Flush curpoints. | |
virtual ObjectContext * | Context () |
virtual int | LBDown (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | LBUp (int x, int y, unsigned int state, const Laxkit::LaxMouse *d) |
virtual int | MouseMove (int x, int y, unsigned int state, const Laxkit::LaxMouse *d) |
virtual int | KeyUp (unsigned int ch, unsigned int state, const Laxkit::LaxKeyboard *d) |
virtual void | drawpatches () |
Draw the whole patch. | |
virtual int | Refresh () |
virtual int | DrawData (Laxkit::anObject *ndata, Laxkit::anObject *a1=NULL, Laxkit::anObject *a2=NULL, int info=0) |
virtual void | deletedata () |
Delete data, and flush curpoints. | |
virtual int | scan (int x, int y) |
Public Member Functions inherited from LaxInterfaces::anInterface | |
anInterface () | |
This constructor assigns id=getUniqueNumber(). | |
anInterface (int nid) | |
Constructor to assign just the id, set other stuff to 0. | |
anInterface (int nid, Laxkit::Displayer *ndp) | |
anInterface (anInterface *nowner, int nid) | |
Constructor to assign owner and id. | |
anInterface (anInterface *nowner, int nid, Laxkit::Displayer *ndp) | |
virtual int | draws (const char *atype) |
Returns !strcmp(whatdatatype(),atype). | |
virtual void | Clear () |
Default just calls Clear(NULL). | |
virtual int | RemoveChild () |
If there is a child, do something to remove it. | |
virtual int | AddChild (LaxInterfaces::anInterface *ch, int absorbcount, int addbefore) |
virtual int | Needtodraw () |
Must return nonzero if the data needs to be drawn, that is to say Refresh must be called. | |
virtual int | Needtodraw (int n) |
virtual int | MBDown (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | RBDown (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | MBUp (int x, int y, unsigned int state, const Laxkit::LaxMouse *d) |
virtual int | RBUp (int x, int y, unsigned int state, const Laxkit::LaxMouse *d) |
virtual int | WheelUp (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | WheelDown (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | DeviceChange (const Laxkit::DeviceEventData *e) |
virtual int | Event (const Laxkit::EventData *e, const char *mes) |
Respond to events, particularly menu events from a menu created from ContextMenu(). | |
virtual void | ExposeChange (Laxkit::ScreenEventData *e) |
virtual void | ViewportResized () |
Called after the parent viewport gets resized. | |
virtual void | Mapped () |
Called after the parent viewport gets mapped (made visible). | |
virtual void | Unmapped () |
Called after the parent viewport gets mapped (made invisible, such as offscreen, not merely obscured). | |
virtual void | PostMessage (const char *message) |
If viewport, use that, else app->postmessage(). | |
virtual Laxkit::MenuInfo * | ContextMenu (int x, int y, int deviceid) |
Return a context sensitive menu for screen position (x,y). | |
virtual Laxkit::anXWindow * | CurrentWindow (Laxkit::anXWindow *ncur) |
Set the window the interface works on to ncur. Returns ncur. If ncur==NULL, then just return current viewport. | |
virtual void | Dp (Laxkit::Displayer *ndp) |
Set the dp to ndp, and update curwindow/viewport. | |
virtual int | DrawDataDp (Laxkit::Displayer *tdp, SomeData *tdata, Laxkit::anObject *a1=NULL, Laxkit::anObject *a2=NULL, int info=1) |
Use a different dp to draw data with. | |
virtual flatpoint | realtoscreen (flatpoint r) |
Do a little extra checking to find what point r should correspond to. | |
virtual flatpoint | screentoreal (int x, int y) |
Do a little extra checking to find what point (x,y) should correspond to. | |
virtual double | Getmag (int c=0) |
Do a little extra checking to find what the magnification is. | |
virtual double | GetVMag (int x, int y) |
Do a little extra checking to find what the magnification is. | |
virtual void | dump_out (FILE *f, int indent, int what, Laxkit::anObject *savecontext) |
Default settings saving is to output nothing. | |
virtual void | dump_in_atts (LaxFiles::Attribute *att, int flag, Laxkit::anObject *loadcontext) |
Placeholder for dumping in settings. | |
Public Member Functions inherited from LaxFiles::DumpUtility | |
virtual Attribute * | dump_out_atts (Attribute *att, int what, Laxkit::anObject *savecontext) |
Default is return NULL. what==0 means write out normal Attribute formatted things. | |
virtual void | dump_in (FILE *f, int indent, int what, Laxkit::anObject *loadcontext, Attribute **att) |
Read in a file segment as an Attribute, and pass parsing duties to dump_in_atts. | |
virtual | ~DumpUtility () |
Empty virtual destructor. |
Public Attributes | |
ColorPatchData * | cdata |
Public Attributes inherited from LaxInterfaces::PatchInterface | |
LineStyle | linestyle |
unsigned long | rimcolor |
unsigned long | handlecolor |
unsigned long | gridcolor |
int | xs |
int | ys |
int | rdiv |
int | cdiv |
unsigned long | controlcolor |
int | showdecs |
int | oldshowdecs |
char | whichcontrols |
int | recurse |
int | rendermode |
How to draw the overall patch. | |
PatchData * | data |
ObjectContext * | poc |
Public Attributes inherited from LaxInterfaces::anInterface | |
char * | name |
An instance name.. ***don't think this is used anywhere at the moment. | |
int | id |
Must be positive, other values are reserved for internal use. | |
unsigned long | style |
Style flags for the interface. Meaning depends on the interface. | |
int | interface_type |
What sort of interface this is. Default is INTERFACE_Tool. | |
Laxkit::anXApp * | app |
The application this interface works with. | |
Laxkit::anXWindow * | curwindow |
The window the interface currently works on. | |
anInterface * | owner |
The interface that owns this one. | |
anInterface * | child |
The child of this interface. See anInterface::owner. This is dec_counted in destructor. | |
int | primary |
Whether this is supposed to be a 'main' interface, or merely a helper. | |
int | needtodraw |
Whether the interface thinks it has to refresh. |
Protected Member Functions | |
virtual void | patchpoint (PatchRenderContext *context, double s1, double t1, double s2, double t2) |
virtual void | patchpoint2 (PatchRenderContext *context) |
No recursion, just draw n s,t rects for patch. | |
virtual int | sendcolor (Laxkit::ScreenColor *col) |
Send a "make curcolor" event to the viewport. | |
virtual int | PerformAction (int action) |
Protected Member Functions inherited from LaxInterfaces::PatchInterface | |
void | getG (double *G, int roffset, int coffset, int isfory) |
virtual int | selectablePoint (int i) |
Return whether point c is ok to select. | |
virtual int | findNearHorizontal (flatpoint fp, double d, double *t_ret, int *i_ret) |
Return the row number corresponding to the first patch edge within d of fp. | |
virtual int | findNearVertical (flatpoint fp, double d, double *t_ret, int *i_ret) |
Return the column number corresponding to the first patch edge within d of fp. | |
virtual void | drawControlPoints () |
Protected Attributes | |
double | Cx [16] |
double | Cy [16] |
Laxkit::ScreenColor * | col1 |
Laxkit::ScreenColor * | col2 |
Laxkit::ScreenColor * | col3 |
Laxkit::ScreenColor * | col4 |
Laxkit::ScreenColor | col |
Laxkit::ScreenColor | cola |
Laxkit::ScreenColor | colb |
Protected Attributes inherited from LaxInterfaces::PatchInterface | |
double | movetransform [6] |
flatpoint * | movepts |
flatpoint | lbdown |
flatpoint * | cuth |
flatpoint * | cutv |
double | cutatct |
double | cutatrt |
int | overv |
int | overh |
int | overcv |
int | overch |
int | overstate |
Whether hovering over an edge is for adding (0) or cutting (1). | |
int | dragmode |
What to do on a button down-drag-up.. | |
int | hoverpoint |
int | bx |
int | by |
int | mx |
int | my |
int | constrain |
Laxkit::NumStack< int > | curpoints |
int | mousedragged |
Laxkit::ShortcutHandler * | sc |
Protected Attributes inherited from LaxInterfaces::anInterface | |
Laxkit::ButtonDownInfo | buttondown |
ViewportWindow * | viewport |
curwindow dynamically cast to ViewportWindow. Thus, it will be NULL if it is not a ViewportWindow. | |
Laxkit::Displayer * | dp |
The Displayer used by the controlling window. |
Additional Inherited Members | |
Public Types inherited from LaxInterfaces::PatchInterface | |
enum | PatchDecorations { SHOW_Grid = (1<<0), SHOW_Points = (1<<1), SHOW_Edges = (1<<2), SHOW_Max = (1<<3) } |
Interface for dealing with ColorPatchData objects.
|
virtual |
Draw a single point as a little filled colored circle.
This is for the hoverpoint, and is called from PatchInterface::Refresh().
Reimplemented from LaxInterfaces::PatchInterface.
References LaxInterfaces::anInterface::dp, Laxkit::Displayer::drawpoint(), Laxkit::Displayer::DrawReal(), Laxkit::Displayer::DrawScreen(), Laxkit::Displayer::NewFG(), Laxkit::pixelfromcolor(), and Laxkit::Displayer::realtoscreen().
Draws one patch.
called by drawpatches(). The whole patch is made of potentially a whole lot of adjacent patches. If rendermode==0, then just draw the wire outline. Otherwise do the whole color thing.
This function prepares up col1,col2,col3,col4 and Cx,Cy matrices for patchpoint2().
roff,coff is which patch, point start is == xoff*3
Reimplemented from LaxInterfaces::PatchInterface.
References LaxInterfaces::B, LaxInterfaces::anInterface::dp, LaxInterfaces::PatchData::getGt(), LaxInterfaces::m_times_m(), patchpoint2(), Laxkit::Displayer::realtoscreen(), and LaxInterfaces::PatchInterface::rendermode.
|
protectedvirtual |
References Laxkit::coloravg(), LaxInterfaces::anInterface::dp, Laxkit::Displayer::drawpoint(), LaxInterfaces::PatchRenderContext::getPoint(), LaxInterfaces::getT(), Laxkit::Displayer::NewFG(), and Laxkit::pixelfromcolor().
|
protectedvirtual |
No recursion, just draw n s,t rects for patch.
Assumes col1,col2,col3,col4 are already set to the approprate colors for the current segment.
References Laxkit::coloravg(), LaxInterfaces::anInterface::dp, Laxkit::Displayer::drawlines(), Laxkit::Displayer::DrawReal(), Laxkit::Displayer::DrawScreen(), LaxInterfaces::PatchRenderContext::getPoint(), LaxInterfaces::getT(), Laxkit::Displayer::NewFG(), and Laxkit::pixelfromcolor().
Referenced by drawpatch().
|
protectedvirtual |
Send a "make curcolor" event to the viewport.
References LaxInterfaces::anInterface::app, LaxInterfaces::anInterface::curwindow, and Laxkit::anXApp::SendMessage().