"Fossies" - the Fresh Open Source Software Archive

Member "ivtools-ivtools-2.0.4/src/include/Unidraw/Commands/align.h" (9 Oct 2020, 2481 Bytes) of package /linux/misc/ivtools-ivtools-2.0.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "align.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright (c) 1990, 1991 Stanford University
    3  *
    4  * Permission to use, copy, modify, distribute, and sell this software and its
    5  * documentation for any purpose is hereby granted without fee, provided
    6  * that the above copyright notice appear in all copies and that both that
    7  * copyright notice and this permission notice appear in supporting
    8  * documentation, and that the name of Stanford not be used in advertising or
    9  * publicity pertaining to distribution of the software without specific,
   10  * written prior permission.  Stanford makes no representations about
   11  * the suitability of this software for any purpose.  It is provided "as is"
   12  * without express or implied warranty.
   13  *
   14  * STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
   15  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
   16  * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
   17  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
   18  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
   19  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
   20  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   21  */
   22 
   23 /*
   24  * AlignCmd - aligns components relative to one another.
   25  * AlignToGridCmd - aligns components relative to a grid.
   26  */
   27 
   28 #ifndef unidraw_commands_align_h
   29 #define unidraw_commands_align_h
   30 
   31 #include <Unidraw/Commands/command.h>
   32 
   33 class GraphicComp;
   34 class GraphicView;
   35 
   36 //: align command
   37 // <a href=../man3.1/align.html>man page</a>
   38 class AlignCmd : public Command {
   39 public:
   40     AlignCmd(ControlInfo*, Alignment = Left, Alignment = Left);
   41     AlignCmd(Editor* = nil, Alignment = Left, Alignment = Left);
   42 
   43     void GetAlignment(Alignment&, Alignment&);
   44     GraphicComp* GetReference(GraphicComp*);
   45 
   46     virtual Command* Copy();
   47     virtual void Read(istream&);
   48     virtual void Write(ostream&);
   49     virtual ClassId GetClassId();
   50     virtual boolean IsA(ClassId);
   51 protected:
   52     Alignment _align1, _align2;
   53 };
   54 
   55 //: align-to-grid command
   56 // <a href=../man3.1/align.html>man page</a>
   57 class AlignToGridCmd : public Command {
   58 public:
   59     AlignToGridCmd(ControlInfo*);
   60     AlignToGridCmd(Editor* = nil);
   61 
   62     virtual void Execute();
   63     virtual void Unexecute();
   64 
   65     virtual void Align(GraphicView*, float, float);
   66     virtual void Unalign(GraphicView*);
   67 
   68     virtual Command* Copy();
   69     virtual ClassId GetClassId();
   70     virtual boolean IsA(ClassId);
   71 protected:
   72     void Move(GraphicComp*);
   73     void Unmove(GraphicComp*);
   74 };
   75 
   76 #endif