+++ /dev/null
-/////////////////////////////////////////////////////////////////////////////
-// Name: bitmap.cpp
-// Purpose: Bitmap shape class
-// Author: Julian Smart
-// Modified by:
-// Created: 12/07/98
-// RCS-ID: $Id$
-// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
-#pragma implementation "bitmap.h"
-#endif
-
-// For compilers that support precompilation, includes "wx.h".
-#include <wx/wxprec.h>
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#ifndef WX_PRECOMP
-#include <wx/wx.h>
-#endif
-
-#ifdef PROLOGIO
-#include <wx/wxexpr.h>
-#endif
-
-#include "basic.h"
-#include "basicp.h"
-#include "canvas.h"
-#include "bitmap.h"
-#include "misc.h"
-
-/*
- * Bitmap object
- *
- */
-
-IMPLEMENT_DYNAMIC_CLASS(wxBitmapShape, wxShape)
-
-wxBitmapShape::wxBitmapShape():wxRectangleShape(100.0, 50.0)
-{
- m_filename = "";
-}
-
-wxBitmapShape::~wxBitmapShape()
-{
-}
-
-void wxBitmapShape::OnDraw(wxDC& dc)
-{
- if (!m_bitmap.Ok())
- return;
-
- wxMemoryDC tempDC;
- tempDC.SelectObject(m_bitmap);
- double x, y;
- x = WXROUND(m_xpos - m_bitmap.GetWidth() / 2.0);
- y = WXROUND(m_ypos - m_bitmap.GetHeight() / 2.0);
- dc.Blit(x, y, m_bitmap.GetWidth(), m_bitmap.GetHeight(), &tempDC, 0, 0);
-}
-
-void wxBitmapShape::SetSize(double w, double h, bool recursive)
-{
- if (m_bitmap.Ok())
- {
- w = m_bitmap.GetWidth();
- h = m_bitmap.GetHeight();
- }
-
- SetAttachmentSize(w, h);
-
- m_width = w;
- m_height = h;
- SetDefaultRegionSize();
-}
-
-#ifdef PROLOGIO
-// Prolog database stuff
-char *wxBitmapShape::GetFunctor()
-{
- return "node_image";
-}
-
-void wxBitmapShape::WritePrologAttributes(wxExpr *clause)
-{
- // Can't really save the bitmap; so instantiate the bitmap
- // at a higher level in the application, from a symbol library.
- wxRectangleShape::WritePrologAttributes(clause);
- clause->AddAttributeValueString("filename", m_filename);
-}
-
-void wxBitmapShape::ReadPrologAttributes(wxExpr *clause)
-{
- wxRectangleShape::ReadPrologAttributes(clause);
- clause->GetAttributeValue("filename", m_filename);
-}
-#endif
-
-// Does the copying for this object
-void wxBitmapShape::Copy(wxShape& copy)
-{
- wxRectangleShape::Copy(copy);
-
- wxASSERT( copy.IsKindOf(CLASSINFO(wxBitmapShape)) ) ;
-
- wxBitmapShape& bitmapCopy = (wxBitmapShape&) copy;
-
- bitmapCopy.m_bitmap = m_bitmap;
- bitmapCopy.SetFilename(m_filename);
-}
-
-void wxBitmapShape::SetBitmap(const wxBitmap& bm)
-{
- m_bitmap = bm;
- if (m_bitmap.Ok())
- SetSize(m_bitmap.GetWidth(), m_bitmap.GetHeight());
-}
-
-
+++ /dev/null
-/////////////////////////////////////////////////////////////////////////////
-// Name: bitmap.h
-// Purpose: wxBitmapShape
-// Author: Julian Smart
-// Modified by:
-// Created: 12/07/98
-// RCS-ID: $Id$
-// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef _OGL_BITMAP_H_
-#define _OGL_BITMAP_H_
-
-#ifdef __GNUG__
-#pragma interface "bitmap.h"
-#endif
-
-#include "basic.h"
-
-class wxBitmapShape: public wxRectangleShape
-{
- DECLARE_DYNAMIC_CLASS(wxBitmapShape)
- public:
- wxBitmapShape();
- ~wxBitmapShape();
-
- void OnDraw(wxDC& dc);
-
-#ifdef PROLOGIO
- // Prolog database stuff
- char *GetFunctor();
- void WritePrologAttributes(wxExpr *clause);
- void ReadPrologAttributes(wxExpr *clause);
-#endif
-
- // Does the copying for this object
- void Copy(wxShape& copy);
-
- void SetSize(double w, double h, bool recursive = TRUE);
- inline wxBitmap& GetBitmap() const { return (wxBitmap&) m_bitmap; }
- void SetBitmap(const wxBitmap& bm);
- inline void SetFilename(const wxString& f) { m_filename = f; };
- inline wxString GetFilename() const { return m_filename; }
-
-private:
- wxBitmap m_bitmap;
- wxString m_filename;
-};
-
-#endif
- // _OGL_BITMAP_H_
-
-