lyx_mirror/src/mathed/xarray.h
André Pönitz 9295f8236e Use references instead of pointers where possible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2867 a592a061-630c-0410-9148-cb99ea01b6c8
2001-10-12 12:02:49 +00:00

76 lines
1.2 KiB
C++

// -*- C++ -*-
#ifndef MATHEDXARRAY_H
#define MATHEDXARRAY_H
#include <iosfwd>
#include "array.h"
#include "math_defs.h"
#ifdef __GNUG__
#pragma interface
#endif
class Painter;
class MathXArray
{
public:
///
typedef MathArray::size_type size_type;
///
typedef MathArray::const_iterator const_iterator;
///
MathXArray();
///
void metrics(MathStyles st) const;
///
void draw(Painter & pain, int x, int y) const;
///
int xo() const { return xo_; }
///
int yo() const { return yo_; }
///
int pos2x(size_type pos) const;
///
size_type x2pos(int pos) const;
///
int ascent() const { return ascent_; }
///
int descent() const { return descent_; }
///
int height() const { return ascent_ + descent_; }
///
int width() const { return width_; }
///
MathStyles style() const { return style_; }
///
const_iterator begin() const { return data_.begin(); }
///
const_iterator end() const { return data_.end(); }
public:
///
MathArray data_;
///
mutable int width_;
///
mutable int ascent_;
///
mutable int descent_;
///
mutable int xo_;
///
mutable int yo_;
///
mutable MathStyles style_;
};
std::ostream & operator<<(std::ostream & os, MathXArray const & ar);
#endif