Mercurial > ~dholland > hg > ag > index.cgi
view anagram/support/cint.h @ 4:bebb2ba69e1d
maybe help with getting tex to fail properly on error
author | David A. Holland |
---|---|
date | Sat, 18 Apr 2020 17:12:17 -0400 |
parents | 13d2b8934445 |
children | 607e3be6bad8 |
line wrap: on
line source
/* * AnaGram, A System for Syntax Directed Programming * Copyright 1993-2002 Parsifal Software. All Rights Reserved. * See the file COPYING for license and usage terms. * * cint.h */ #ifndef CINT_H #define CINT_H #ifdef VACLGUI #include <ipoint.hpp> #endif struct rect; struct cint { int x, y; cint() : x(0), y(0) {} cint(const int xarg, const int yarg) : x(xarg), y(yarg) {} cint(const cint &c) : x(c.x), y(c.y) {} #ifdef VACLGUI cint(const IPair &p) : x(p.coord1()), y(p.coord2()) {} operator IPair () const { return IPair(x, y); } #endif int operator == (const cint r) const { return (x == r.x && y == r.y); } int operator != (const cint r) const { return (x != r.x || y != r.y); } cint operator + (cint r) const { r.x += x; r.y += y; return r; } cint operator += (const cint r) { x += r.x; y += r.y; return *this; } cint operator - (cint r) const { r.x = x - r.x; r.y = y - r.y; return r; } cint operator -= (const cint r) { x -= r.x; y -= r.y; return *this; } int operator <= (const cint &s) const; int operator >= (const cint &s) const; int operator < (const cint &s) const; int operator > (const cint &s) const; int on_boundary(cint, cint) const; int inside_rect(cint, cint) const; int inside_rect(rect) const; }; struct rect { cint pos, size; }; cint lrci(cint a, cint b); int measure_line(const char *s); cint measure_string(const char *s); cint place(cint measure, cint size, int jm); rect place_rect(rect w, cint s, int jm); cint ulci(cint a, cint b); #endif /* CINT_H */