1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-13 14:27:08 +03:00

0024002: Overall code and build procedure refactoring -- automatic

Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
This commit is contained in:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,6 +1,11 @@
WNT.edl
WNT_WOKSteps.edl
WNT_CMPLRS.edl
WNT_WOKUMake.edl
WNT_ClassDefinitionError.hxx
WNT_Dword.hxx
WNT_OrientationType.hxx
WNT_Uint.hxx
WNT_WClass.cxx
WNT_WClass.hxx
WNT_WClass.lxx
WNT_Window.cxx
WNT_Window.hxx
WNT_Window.lxx
WNT_WindowPtr.hxx

View File

@@ -1,87 +0,0 @@
-- Created on: 1996-01-23
-- Created by: s: LAVNIKOV Alexey, PLOTNIKOV Eugeny & CHABROVSKY Dmitry
-- Copyright (c) 1996-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.
-- Modifications: DCB at March 1998 Porting MFT for Windows NT (95)
-- PLOTNIKOV Eugeny at July 1998 (BUC60286)
package WNT
---Purpose: This package contains common Windows NT graphics interface.
uses
Aspect,
Image,
Quantity,
TCollection,
TColStd,
TShort,
MMgt,
OSD
is
-----------------------
-- Category: Exceptions
-----------------------
exception ClassDefinitionError inherits ConstructionError;
---Category: Exceptions
--------------------
-- Category: Classes
--------------------
class Window;
---Category: Classes
class WClass;
---Category: Classes
---------------------------
-- Category: Enumerations
---------------------------
enumeration OrientationType is
OT_PORTRAIT,
OT_LANDSCAPE
end OrientationType;
---Purpose: Portrait/landscape orientation.
---------------------------
-- Category: Imported types
---------------------------
imported Dword;
---Category: Imported types
imported Uint;
---Category: Imported types
---------------------------------
-- Category: Pointers
---------------------------------
pointer WindowPtr to Window from WNT;
end WNT;

View File

@@ -1,21 +0,0 @@
-- Created on: 1996-10-03
-- Created by: Jean GAUTIER
-- Copyright (c) 1996-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.
@ifnotdefined ( %WNT_EDL) then
@set %WNT_EDL = "";
@endif;

View File

@@ -1,14 +0,0 @@
-- 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.
@string %CMPLRS_CXX_Options = %CMPLRS_CXX_Options " -D_AFXDLL ";

View File

@@ -0,0 +1,37 @@
// Created on: 1996-01-23
// Created by: s: LAVNIKOV Alexey, PLOTNIKOV Eugeny & CHABROVSKY Dmitry
// Copyright (c) 1996-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 _WNT_ClassDefinitionError_HeaderFile
#define _WNT_ClassDefinitionError_HeaderFile
#include <Standard_Type.hxx>
#include <Standard_DefineException.hxx>
#include <Standard_SStream.hxx>
#include <Standard_ConstructionError.hxx>
class WNT_ClassDefinitionError;
DEFINE_STANDARD_HANDLE(WNT_ClassDefinitionError, Standard_ConstructionError)
#if !defined No_Exception && !defined No_WNT_ClassDefinitionError
#define WNT_ClassDefinitionError_Raise_if(CONDITION, MESSAGE) \
if (CONDITION) WNT_ClassDefinitionError::Raise(MESSAGE);
#else
#define WNT_ClassDefinitionError_Raise_if(CONDITION, MESSAGE)
#endif
DEFINE_STANDARD_EXCEPTION(WNT_ClassDefinitionError, Standard_ConstructionError)
#endif // _WNT_ClassDefinitionError_HeaderFile

View File

@@ -0,0 +1,27 @@
// Created on: 1996-01-23
// Created by: s: LAVNIKOV Alexey, PLOTNIKOV Eugeny & CHABROVSKY Dmitry
// Copyright (c) 1996-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 _WNT_OrientationType_HeaderFile
#define _WNT_OrientationType_HeaderFile
//! Portrait/landscape orientation.
enum WNT_OrientationType
{
WNT_OT_PORTRAIT,
WNT_OT_LANDSCAPE
};
#endif // _WNT_OrientationType_HeaderFile

View File

@@ -1,103 +0,0 @@
-- Created on: 1996-01-26
-- Created by: PLOTNIKOV Eugeny
-- Copyright (c) 1996-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.
class WClass from WNT inherits TShared from MMgt
---Purpose: This class defines a Windows NT window class.
-- A window in Windows NT is always created based on a
-- window class. The window class identifies the window
-- procedure that processes messages to the window. Each
-- window class has unique name ( character string ). More
-- than one window can be created based on a single window
-- class. For example, all button windows in Windows NT
-- are created based on the same window class. The window
-- class defines the window procedure and some other
-- characteristics ( background, mouse cursor shape etc. )
-- of the windows that are created based on that class.
-- When we create a window, we define additional
-- characteristics of the window that are unique to that
-- window. So, we have to create and register window
-- class before creation of any window. Of course, it's possible
-- to create a new window class for each window inside
-- the Window class and do not use the WClass at all.
-- We implemented this class for sake of flexibility of
-- event processing.
uses
Uint from WNT,
Handle from Aspect
raises
ClassDefinitionError from WNT
is
Create (
aClassName : CString from Standard;
aWndProc : Address from Standard;
aStyle : Uint from WNT;
aClassExtra : Integer from Standard = 0;
aWindowExtra : Integer from Standard = 0;
aCursor : Handle from Aspect = 0;
anIcon : Handle from Aspect = 0;
aMenuName : CString from Standard = 0
)
returns WClass from WNT
---Level: Public
---Purpose: Creates a Windows NT window class and registers it.
---Trigger: Raises if class registration failed.
raises ClassDefinitionError from WNT;
Destroy ( me : mutable )
is virtual;
---Level: Public
---Purpose: Destroys all resources attached to the class
---C++: alias ~
----------------------------
-- Category: Inquire methods
----------------------------
WndProc ( me ) returns Address from Standard;
---Level: Public
---Purpose: Returns address of window procedure.
---C++: inline
Name ( me ) returns CString from Standard;
---Level: Public
---Purpose: Returns a class name.
---C++: inline
Instance ( me ) returns Handle from Aspect;
---Level: Public
---Purpose: Returns a program instance handle.
---C++: inline
fields
lpszName : CString from Standard is protected;
hInstance : Handle from Aspect is protected;
lpfnWndProc : Address from Standard is protected;
friends
class Window from WNT
end WClass;

View File

@@ -13,18 +13,20 @@
// commercial license or contractual agreement.
#include <windows.h>
#include <WNT_WClass.ixx>
#include <Standard_PCharacter.hxx>
#include <InterfaceGraphic.hxx>
#include <Standard_PCharacter.hxx>
#include <Standard_Type.hxx>
#include <WNT_ClassDefinitionError.hxx>
#include <WNT_WClass.hxx>
#include <WNT_Window.hxx>
#include <string.h>
//=======================================================================
//function : WNT_WClass
//purpose :
//=======================================================================
WNT_WClass::WNT_WClass (
const Standard_CString aClassName,
const Standard_Address aWndProc,

107
src/WNT/WNT_WClass.hxx Normal file
View File

@@ -0,0 +1,107 @@
// Created on: 1996-01-26
// Created by: PLOTNIKOV Eugeny
// Copyright (c) 1996-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 _WNT_WClass_HeaderFile
#define _WNT_WClass_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_CString.hxx>
#include <Aspect_Handle.hxx>
#include <Standard_Address.hxx>
#include <MMgt_TShared.hxx>
#include <WNT_Uint.hxx>
#include <Standard_Integer.hxx>
class WNT_ClassDefinitionError;
class WNT_Window;
class WNT_WClass;
DEFINE_STANDARD_HANDLE(WNT_WClass, MMgt_TShared)
//! This class defines a Windows NT window class.
//! A window in Windows NT is always created based on a
//! window class. The window class identifies the window
//! procedure that processes messages to the window. Each
//! window class has unique name ( character string ). More
//! than one window can be created based on a single window
//! class. For example, all button windows in Windows NT
//! are created based on the same window class. The window
//! class defines the window procedure and some other
//! characteristics ( background, mouse cursor shape etc. )
//! of the windows that are created based on that class.
//! When we create a window, we define additional
//! characteristics of the window that are unique to that
//! window. So, we have to create and register window
//! class before creation of any window. Of course, it's possible
//! to create a new window class for each window inside
//! the Window class and do not use the WClass at all.
//! We implemented this class for sake of flexibility of
//! event processing.
class WNT_WClass : public MMgt_TShared
{
public:
//! Creates a Windows NT window class and registers it.
Standard_EXPORT WNT_WClass(const Standard_CString aClassName, const Standard_Address aWndProc, const WNT_Uint& aStyle, const Standard_Integer aClassExtra = 0, const Standard_Integer aWindowExtra = 0, const Aspect_Handle aCursor = 0, const Aspect_Handle anIcon = 0, const Standard_CString aMenuName = 0);
//! Destroys all resources attached to the class
Standard_EXPORT virtual void Destroy();
~WNT_WClass()
{
Destroy();
}
//! Returns address of window procedure.
Standard_Address WndProc() const;
//! Returns a class name.
Standard_CString Name() const;
//! Returns a program instance handle.
Aspect_Handle Instance() const;
friend class WNT_Window;
DEFINE_STANDARD_RTTI(WNT_WClass,MMgt_TShared)
protected:
Standard_CString lpszName;
Aspect_Handle hInstance;
Standard_Address lpfnWndProc;
private:
};
#include <WNT_WClass.lxx>
#endif // _WNT_WClass_HeaderFile

View File

@@ -1,32 +0,0 @@
-- Created on: 1997-08-12
-- Created by: Jean GAUTIER
-- Copyright (c) 1997-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.
@ifnotdefined ( %WNT_WOKSteps_EDL) then
@set %WNT_WOKSteps_EDL = "";
@if ( %Station != "wnt" ) then
@set %WOKSteps_ObjGroup = "obj.nocompil";
@set %WOKSteps_LibGroup = "";
@set %WOKSteps_obj_nocompil = "WOKStep_Compile";
@set %WOKSteps_toolkit_ListWith = "obj.nocompil";
@set %WOKSteps_toolkit_LinksWith = "obj.nocompil";
@endif;
@endif;

View File

@@ -1,67 +0,0 @@
-- Created on: 1996-10-03
-- Created by: Jean GAUTIER
-- Copyright (c) 1996-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.
@ifnotdefined ( %WNT_WOKUMake_EDL) then
@set %WNT_WOKUMake_EDL = "";
@uses "WNT.edl";
@if ( %Station == "sun" ) then
-- Pas de WNT sur SUN
@set %WOKUMake_Steps = "";
@string %WOKUMake_Steps = %WOKUMake_Steps "*src ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.fill(src) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.src(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.header(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps ".xcpp.template(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " obj.inc(src,xcpp.src) ";
@endif;
@if ( %Station == "sil" ) then
-- Pas de WNT sur SGI
@set %WOKUMake_Steps = "";
@string %WOKUMake_Steps = %WOKUMake_Steps "*src ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.fill(src) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.src(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.header(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps ".xcpp.template(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " obj.inc(src,xcpp.src) ";
@endif;
@if ( %Station == "ao1" ) then
-- Pas de WNT sur DEC
@set %WOKUMake_Steps = "";
@string %WOKUMake_Steps = %WOKUMake_Steps "*src ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.fill(src) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.src(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.header(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps ".xcpp.template(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " obj.inc(src,xcpp.src) ";
@endif;
@if ( %Station == "hp" ) then
-- Pas de WNT sur HP
@set %WOKUMake_Steps = "";
@string %WOKUMake_Steps = %WOKUMake_Steps "*src ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.fill(src) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.src(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " xcpp.header(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps ".xcpp.template(xcpp.fill) ";
@string %WOKUMake_Steps = %WOKUMake_Steps " obj.inc(src,xcpp.src) ";
@endif;
@endif;

View File

@@ -1,189 +0,0 @@
-- Created on: 1996-01-26
-- Created by: PLOTNIKOV Eugeny
-- Copyright (c) 1996-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.
class Window from WNT inherits Window from Aspect
---Purpose: This class defines Windows NT window
uses
Handle from Aspect,
Drawable from Aspect,
TypeOfResize from Aspect,
NameOfColor from Quantity,
Color from Quantity,
Ratio from Quantity,
WClass from WNT,
Uint from WNT,
Dword from WNT
raises
WindowDefinitionError from Aspect,
WindowError from Aspect
is
Create (theTitle : CString from Standard;
theClass : WClass from WNT;
theStyle : Dword from WNT;
thePxLeft : Integer from Standard;
thePxTop : Integer from Standard;
thePxWidth : Integer from Standard;
thePxHeight : Integer from Standard;
theBackColor : NameOfColor from Quantity = Quantity_NOC_MATRAGRAY;
theParent : Handle from Aspect = 0;
theMenu : Handle from Aspect = 0;
theClientStruct : Address from Standard = 0)
returns Window from WNT
---Level: Public
---Purpose: Creates a Window defined by his position and size
-- in pixles from the Parent Window.
-- Trigger: Raises WindowDefinitionError if the Position out of the
-- Screen Space or the window creation failed.
raises WindowDefinitionError from Aspect;
Create (
aHandle : Handle from Aspect;
aBackColor : NameOfColor from Quantity = Quantity_NOC_MATRAGRAY
)
returns Window from WNT;
---Level: Public
---Purpose: Creates a Window based on the existing window handle.
-- This handle equals ( aPart1 << 16 ) + aPart2.
Destroy ( me : mutable )
is virtual;
---Level: Public
---Purpose: Destroies the Window and all resourses attached to it.
---C++: alias ~
---------------------------------------------------
-- Category: Methods to modify the class definition
---------------------------------------------------
SetCursor ( me; aCursor : Handle from Aspect )
is static;
---Level: Public
---Purpose: Sets cursor <aCursor> for ENTIRE WINDOW CLASS to which
-- the Window belongs.
Map ( me )
is virtual;
---Level: Public
---Purpose: Opens the window <me>.
Map ( me; aMapMode : Integer from Standard )
is static;
---Level: Public
---Purpose: Opens a window <me> according to <aMapMode>.
-- This method is specific to Windows NT.
-- <aMapMode> can be one of SW_xxx constants defined
-- in <windows.h>. See documentation.
Unmap ( me )
is virtual;
---Level: Public
---Purpose: Closes the window <me>.
DoResize ( me )
returns TypeOfResize from Aspect
---Level: Public
---Purpose: Applies the resizing to the window <me>.
raises WindowError from Aspect is virtual;
DoMapping ( me ) returns Boolean from Standard
raises WindowError from Aspect is virtual;
---C++: inline
---Level: Advanced
---Purpose: Apply the mapping change to the window <me>
-- and returns TRUE if the window is mapped at screen.
---Category: Methods to modify the class definition
SetPos ( me : mutable; X, Y, X1, Y1 : Integer from Standard )
is static;
---Level: Internal
---Purpose: Changes variables due to window position.
----------------------------
-- Category: Inquire methods
----------------------------
IsMapped ( me )
returns Boolean from Standard is virtual;
---Level: Public
---Purpose: Returns True if the window <me> is opened
-- and False if the window is closed.
Ratio ( me )
returns Ratio from Quantity is virtual;
---Level: Public
---Purpose: Returns The Window RATIO equal to the physical
-- WIDTH/HEIGHT dimensions.
Position (
me;
X1 : out Integer from Standard;
Y1 : out Integer from Standard;
X2 : out Integer from Standard;
Y2 : out Integer from Standard
)
is virtual;
---Level: Public
---Purpose: Returns The Window POSITION in PIXEL
Size (
me;
Width : out Integer from Standard;
Height : out Integer from Standard
)
is virtual;
---Level: Public
---Purpose: Returns The Window SIZE in PIXEL
HWindow ( me )
returns Handle from Aspect is static;
---Level: Public
---Purpose: Returns the Windows NT handle of the created window <me>.
---C++: inline
HParentWindow ( me )
returns Handle from Aspect is static;
---Level: Public
---Purpose: Returns the Windows NT handle parent of the created window <me>.
---C++: inline
NativeHandle ( me ) returns Drawable from Aspect is virtual;
---Purpose: Returns native Window handle (HWND)
---C++: inline
NativeParentHandle ( me ) returns Drawable from Aspect is virtual;
---Purpose: Returns parent of native Window handle (HWND on Windows, Window with Xlib, and so on)
---C++: inline
fields
aXLeft : Integer from Standard is protected; -- Window coordinates
aYTop : Integer from Standard is protected;
aXRight : Integer from Standard is protected;
aYBottom : Integer from Standard is protected;
myWClass : WClass from WNT is protected; -- Window class
myHWindow : Handle from Aspect is protected; -- Window handle
myHParentWindow : Handle from Aspect is protected; -- Parent window handle
myIsForeign : Boolean from Standard is protected;
end Window;

View File

@@ -15,13 +15,16 @@
// include windows.h first to have all definitions available
#include <windows.h>
#include <WNT_Window.ixx>
#include <Image_AlienPixMap.hxx>
#include <Aspect_Convert.hxx>
#include <Aspect_WindowDefinitionError.hxx>
#include <Aspect_WindowError.hxx>
#include <Image_AlienPixMap.hxx>
#include <Standard_Type.hxx>
#include <WNT_WClass.hxx>
#include <WNT_Window.hxx>
#include <stdio.h>
// =======================================================================
// function : WNT_Window
// purpose :

149
src/WNT/WNT_Window.hxx Normal file
View File

@@ -0,0 +1,149 @@
// Created on: 1996-01-26
// Created by: PLOTNIKOV Eugeny
// Copyright (c) 1996-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 _WNT_Window_HeaderFile
#define _WNT_Window_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Integer.hxx>
#include <Aspect_Handle.hxx>
#include <Standard_Boolean.hxx>
#include <Aspect_Window.hxx>
#include <Standard_CString.hxx>
#include <WNT_Dword.hxx>
#include <Quantity_NameOfColor.hxx>
#include <Standard_Address.hxx>
#include <Aspect_TypeOfResize.hxx>
#include <Quantity_Ratio.hxx>
#include <Aspect_Drawable.hxx>
class WNT_WClass;
class Aspect_WindowDefinitionError;
class Aspect_WindowError;
class WNT_Window;
DEFINE_STANDARD_HANDLE(WNT_Window, Aspect_Window)
//! This class defines Windows NT window
class WNT_Window : public Aspect_Window
{
public:
//! Creates a Window defined by his position and size
//! in pixles from the Parent Window.
//! Trigger: Raises WindowDefinitionError if the Position out of the
//! Screen Space or the window creation failed.
Standard_EXPORT WNT_Window(const Standard_CString theTitle, const Handle(WNT_WClass)& theClass, const WNT_Dword& theStyle, const Standard_Integer thePxLeft, const Standard_Integer thePxTop, const Standard_Integer thePxWidth, const Standard_Integer thePxHeight, const Quantity_NameOfColor theBackColor = Quantity_NOC_MATRAGRAY, const Aspect_Handle theParent = 0, const Aspect_Handle theMenu = 0, const Standard_Address theClientStruct = 0);
//! Creates a Window based on the existing window handle.
//! This handle equals ( aPart1 << 16 ) + aPart2.
Standard_EXPORT WNT_Window(const Aspect_Handle aHandle, const Quantity_NameOfColor aBackColor = Quantity_NOC_MATRAGRAY);
//! Destroies the Window and all resourses attached to it.
Standard_EXPORT virtual void Destroy();
~WNT_Window()
{
Destroy();
}
//! Sets cursor <aCursor> for ENTIRE WINDOW CLASS to which
//! the Window belongs.
Standard_EXPORT void SetCursor (const Aspect_Handle aCursor) const;
//! Opens the window <me>.
Standard_EXPORT virtual void Map() const;
//! Opens a window <me> according to <aMapMode>.
//! This method is specific to Windows NT.
//! <aMapMode> can be one of SW_xxx constants defined
//! in <windows.h>. See documentation.
Standard_EXPORT void Map (const Standard_Integer aMapMode) const;
//! Closes the window <me>.
Standard_EXPORT virtual void Unmap() const;
//! Applies the resizing to the window <me>.
Standard_EXPORT virtual Aspect_TypeOfResize DoResize() const;
//! Apply the mapping change to the window <me>
//! and returns TRUE if the window is mapped at screen.
virtual Standard_Boolean DoMapping() const;
//! Changes variables due to window position.
Standard_EXPORT void SetPos (const Standard_Integer X, const Standard_Integer Y, const Standard_Integer X1, const Standard_Integer Y1);
//! Returns True if the window <me> is opened
//! and False if the window is closed.
Standard_EXPORT virtual Standard_Boolean IsMapped() const;
//! Returns The Window RATIO equal to the physical
//! WIDTH/HEIGHT dimensions.
Standard_EXPORT virtual Quantity_Ratio Ratio() const;
//! Returns The Window POSITION in PIXEL
Standard_EXPORT virtual void Position (Standard_Integer& X1, Standard_Integer& Y1, Standard_Integer& X2, Standard_Integer& Y2) const;
//! Returns The Window SIZE in PIXEL
Standard_EXPORT virtual void Size (Standard_Integer& Width, Standard_Integer& Height) const;
//! Returns the Windows NT handle of the created window <me>.
Aspect_Handle HWindow() const;
//! Returns the Windows NT handle parent of the created window <me>.
Aspect_Handle HParentWindow() const;
//! Returns native Window handle (HWND)
virtual Aspect_Drawable NativeHandle() const;
//! Returns parent of native Window handle (HWND on Windows, Window with Xlib, and so on)
virtual Aspect_Drawable NativeParentHandle() const;
DEFINE_STANDARD_RTTI(WNT_Window,Aspect_Window)
protected:
Standard_Integer aXLeft;
Standard_Integer aYTop;
Standard_Integer aXRight;
Standard_Integer aYBottom;
Handle(WNT_WClass) myWClass;
Aspect_Handle myHWindow;
Aspect_Handle myHParentWindow;
Standard_Boolean myIsForeign;
private:
};
#include <WNT_Window.lxx>
#endif // _WNT_Window_HeaderFile

23
src/WNT/WNT_WindowPtr.hxx Normal file
View File

@@ -0,0 +1,23 @@
// Created on: 1996-01-23
// Created by: s: LAVNIKOV Alexey, PLOTNIKOV Eugeny & CHABROVSKY Dmitry
// Copyright (c) 1996-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 _WNT_WindowPtr_HeaderFile
#define _WNT_WindowPtr_HeaderFile
class WNT_Window;
typedef WNT_Window* WNT_WindowPtr;
#endif // _WNT_WindowPtr_HeaderFile