X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2Fmathplot.h;h=743bc54d5cca32ab867b1995d1ce8dce58493a1f;hb=80b04dc9e3b981e24fe9ae0d81cdeb8af6e6f8c1;hp=dc06a252cfea1761d85d33a6f8a9c048b4f65f4c;hpb=c5feadbb145eecf6d73f793535b7e23eb18db2cb;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/mathplot.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/mathplot.h index dc06a25..743bc54 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/mathplot.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/mathplot.h @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + ///////////////////////////////////////////////////////////////////////////// // Name: mathplot.h // Purpose: Framework for mathematical graph plotting in wxWindows @@ -50,6 +75,7 @@ http://sourceforge.net/projects/wxmathplot #endif */ +#include "marTypes.h" #include "wx/defs.h" #include @@ -94,7 +120,7 @@ Examples for mpLayer implementations are function graphs, or scale rulers. For convenience mpLayer defines a name, a font (wxFont), and a pen (wxPen) as class members. These may or may not be used by implementations. */ -class mpLayer : public wxObject +class creaMaracasVisu_EXPORT mpLayer : public wxObject { public: mpLayer(); @@ -193,6 +219,14 @@ public: */ void SetPen(wxPen& pen) { m_pen = pen; } + /** + ** Get the translation of the Y coordinate acoording to the new orientation of the axis du to the problem + ** identified in MACOS with the funtion 'SetAxisOrientation' + **/ + int GetYTranslated(double sizey, double y){ + return -y+sizey; + } + protected: wxFont m_font; //!< Layer's font wxPen m_pen; //!< Layer's pen @@ -384,7 +418,7 @@ public: /** Layer plot handler. This implementation will plot the ruler adjusted to the visible area. */ - virtual void Plot(wxDC & dc, mpWindow & w); + virtual void Plot(wxDC & dc, mpWindow & w, int orgy); /** Check whether this layer has a bounding box. This implementation returns \a FALSE thus making the ruler invisible @@ -421,7 +455,7 @@ The canvas window provides a context menu with actions for navigating the view. The context menu can be retrieved with mpWindow::GetPopupMenu, e.g. for extending it externally. */ -class mpWindow : public wxScrolledWindow +class creaMaracasVisu_EXPORT mpWindow : public wxScrolledWindow { public: mpWindow() {} @@ -431,6 +465,7 @@ public: int flags = 0); ~mpWindow(); + /** Get reference to context menu of the plot canvas. @return Pointer to menu. The menu can be modified. */ @@ -655,7 +690,8 @@ public: { drawGuides = ifDrawing; } - + */ + /* * Gets the condition for drawing or not the guide lines * @retval drawGuides The assigned condition @@ -782,6 +818,13 @@ public: /** Refresh display */ void UpdateAll(); + /** + ** Get the translation of the Y coordinate + **/ + int GetYTranslated(wxSize size, double y){ + return size.GetHeight()-y; + } + protected: void Refresh(bool eraseBackground = true, const wxRect* rect = NULL); @@ -875,13 +918,22 @@ protected: */ int type; + private: //bitmap of functions wxBitmap *_bitmap_functions; +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 DECLARE_CLASS(mpWindow) +#else + wxDECLARE_DYNAMIC_CLASS(mpWindow); +#endif + DECLARE_EVENT_TABLE() + + }; #endif // _MP_MATHPLOT_H_