"Fossies" - the Fresh Open Source Software Archive

Member "ivtools-ivtools-2.0.4/src/include/InterViews/aggr.h" (9 Oct 2020, 2294 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 "aggr.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright (c) 1987, 1988, 1989, 1990, 1991 Stanford University
    3  * Copyright (c) 1991 Silicon Graphics, Inc.
    4  *
    5  * Permission to use, copy, modify, distribute, and sell this software and 
    6  * its documentation for any purpose is hereby granted without fee, provided
    7  * that (i) the above copyright notices and this permission notice appear in
    8  * all copies of the software and related documentation, and (ii) the names of
    9  * Stanford and Silicon Graphics may not be used in any advertising or
   10  * publicity relating to the software without the specific, prior written
   11  * permission of Stanford and Silicon Graphics.
   12  * 
   13  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
   14  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
   15  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
   16  *
   17  * IN NO EVENT SHALL STANFORD OR SILICON GRAPHICS BE LIABLE FOR
   18  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
   19  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
   20  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
   21  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
   22  * OF THIS SOFTWARE.
   23  */
   24 
   25 /*
   26  * Aggregate - composite glyph
   27  */
   28 
   29 #ifndef iv_aggr_h
   30 #define iv_aggr_h
   31 
   32 #include <InterViews/glyph.h>
   33 
   34 #include <InterViews/_enter.h>
   35 
   36 class AggregateInfo_List;
   37 
   38 class Aggregate : public Glyph {
   39 public:
   40     Aggregate(GlyphIndex size = 4);
   41     virtual ~Aggregate();
   42 
   43     virtual void allocate(Canvas*, const Allocation&, Extension&);
   44     virtual void draw(Canvas*, const Allocation&) const;
   45     virtual void print(Printer*, const Allocation&) const;
   46     virtual void pick(Canvas*, const Allocation&, int depth, Hit&);
   47 
   48     virtual void append(Glyph*);
   49     virtual void prepend(Glyph*);
   50     virtual void insert(GlyphIndex, Glyph*);
   51     virtual void remove(GlyphIndex);
   52     virtual void replace(GlyphIndex, Glyph*);
   53     virtual void change(GlyphIndex);
   54 
   55     virtual GlyphIndex count() const;
   56     virtual Glyph* component(GlyphIndex) const;
   57     virtual void allot(GlyphIndex, DimensionName, const Allotment&);
   58     virtual void allotment(GlyphIndex, DimensionName, Allotment&) const;
   59 private:
   60     AggregateInfo_List* info_;
   61 };
   62 
   63 #include <InterViews/_leave.h>
   64 
   65 #endif