mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-06 10:36:12 +03:00
All library-specific macros for defining export / import properties of symbols on Windows (like Standard_API, __Draw_API, _math_API etc.) are eliminated. Common macro Standard_EXPORT is used in all places where it is necessary. New macro OCCT_STATIC_BUILD is defined for disabling Standard_EXPORT, to be used instead of HAVE_NO_DLL, though the latter is still supported as well (for compatibility). To allow building OCCT in static mode on Windows after these changes: - Files OSD_WNT_1.hxx and OSD_WNT_BREAK.hxx are removed; useful declarations are moved to OSD_WNT.hxx - In the class IVtkVTK_ShapeData, static fields ARRNAME_MESH_TYPES and ARRNAME_SUBSHAPE_IDS are converted to static inline functions - Global array ChoixRef defined in IntImp_ComputeTangence.cxx is converted to static function returning element of the array by index - Unused class Quantity_Convert is removed (it had static field accessed by inline method) - Struct Approx_Data defined in the same way in BRepApprox_Approx.hxx and GeomInt_WLApprox.hxx is made private member of these classes to avoid name clash - Some C++ files producing no object code are removed - In NCollection_EBTree.hxx and StdLPersistent_Collectio.hxx, definition of template virtual method is moved to class definition to avoid MSVC linker warnings on unused symbols
74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
// Created on: 1992-04-07
|
|
// Created by: Remi LEQUETTE
|
|
// Copyright (c) 1992-1999 Matra Datavision
|
|
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
#ifndef Draw_Appli_HeaderFile
|
|
#define Draw_Appli_HeaderFile
|
|
|
|
#include <Draw_Viewer.hxx>
|
|
#include <Draw.hxx>
|
|
|
|
typedef void (*FDraw_InitAppli)(Draw_Interpretor&);
|
|
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
Standard_EXPORT void Draw_Appli(HINSTANCE,HINSTANCE,int,
|
|
int argc, wchar_t** argv,
|
|
const FDraw_InitAppli Draw_InitAppli);
|
|
#else
|
|
extern void Draw_Appli(int argc, char** argv,
|
|
const FDraw_InitAppli Draw_InitAppli);
|
|
#endif
|
|
|
|
#ifndef _WIN32
|
|
extern Draw_Viewer dout;
|
|
extern Standard_Boolean Draw_Batch;
|
|
#endif
|
|
|
|
class Draw_SaveAndRestore {
|
|
|
|
public :
|
|
|
|
Standard_EXPORT Draw_SaveAndRestore
|
|
(const char* name,
|
|
Standard_Boolean (*test)(const Handle(Draw_Drawable3D)&),
|
|
void (*save)(const Handle(Draw_Drawable3D)&, ostream&),
|
|
Handle(Draw_Drawable3D) (*restore) (istream&),
|
|
Standard_Boolean display = Standard_True);
|
|
|
|
|
|
const char* Name() const {return myName;}
|
|
Standard_Boolean Test(const Handle(Draw_Drawable3D)&d);
|
|
void Save(const Handle(Draw_Drawable3D)& d, ostream& os) const;
|
|
Handle(Draw_Drawable3D) Restore(istream&) const;
|
|
Standard_Boolean Disp() const {return myDisplay;}
|
|
Draw_SaveAndRestore* Next() {return myNext;}
|
|
|
|
private :
|
|
|
|
const char* myName;
|
|
Standard_Boolean (*myTest)(const Handle(Draw_Drawable3D)&);
|
|
void (*mySave)(const Handle(Draw_Drawable3D)&, ostream&);
|
|
Handle(Draw_Drawable3D) (*myRestore) (istream&);
|
|
Standard_Boolean myDisplay;
|
|
Draw_SaveAndRestore* myNext;
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|