Newer
Older
ubixos-old / src / lib / views / sunlight / include / vContext.h
@reddawg reddawg on 15 Apr 2004 1014 bytes UbixOS v1.0
#ifndef VCONTEXT_H
#define VCONTEXT_H

#include <map>
#include <list>
#include <string>
#include <objgfx40.h>
#include <sStyle.h>

class vContext : public ogSurface {
 protected:
  std::map<const std::string, sStyle *> styles;
  std::list<vContext *> cContexts;   // child contexts
  vContext         * pContext;         // parent context
  
  ogSurface        * realView;
  int32              curX, curY;
  uInt32             width, height;
  bool               attached;
 public:
                     vContext(vContext *);
  virtual vContext * Attach(vContext *);
  virtual void       DeleteAllStyles(void) { styles.clear(); };
  virtual bool       DeleteStyle(const std::string);
  virtual void       Draw(void);
  virtual vContext * Detach(vContext *);
  virtual sStyle   * GetStyle(const std::string);
  virtual void       SetPos(int32, int32);
  virtual void       SetSize(uInt32, uInt32);
  virtual void       SetStyle(const std::string, sStyle *);
  virtual            ~vContext();

}; // vContext

#endif