mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-27 03:17:54 +08:00
0031039: Visualization - add elliptical gradient background style
Added new elliptical gradient fill method and updated vbackground command. Renamed enum values of Aspect_GradientFillMethod and defined aliases for old ones. Changed draw mode in OpenGl_BackgroundArray from triangle-strip to GL_TRIANGLES.
This commit is contained in:
@@ -22,7 +22,7 @@ Aspect_GradientBackground::Aspect_GradientBackground () {
|
||||
|
||||
SetColor( Black );
|
||||
MyColor2 = Black;
|
||||
MyGradientMethod = Aspect_GFM_NONE;
|
||||
MyGradientMethod = Aspect_GradientFillMethod_None;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -16,68 +16,45 @@
|
||||
#ifndef _Aspect_GradientBackground_HeaderFile
|
||||
#define _Aspect_GradientBackground_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Aspect_GradientFillMethod.hxx>
|
||||
#include <Aspect_Background.hxx>
|
||||
class Quantity_Color;
|
||||
|
||||
|
||||
//! This class allows the definition of
|
||||
//! a window gradient background.
|
||||
//! This class allows the definition of a window gradient background.
|
||||
class Aspect_GradientBackground : public Aspect_Background
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Creates a window gradient background.
|
||||
//! Default colors : Quantity_NOC_BLACK.
|
||||
//! Default fill method : Aspect_GFM_NONE
|
||||
//! Default color is Quantity_NOC_BLACK.
|
||||
//! Default fill method is Aspect_GradientFillMethod_None.
|
||||
Standard_EXPORT Aspect_GradientBackground();
|
||||
|
||||
//! Creates a window gradient background with colours <AColor1, AColor2>.
|
||||
Standard_EXPORT Aspect_GradientBackground(const Quantity_Color& AColor1, const Quantity_Color& AColor2, const Aspect_GradientFillMethod AMethod = Aspect_GFM_HOR);
|
||||
|
||||
//! Modifies the colours of the window gradient background <me>.
|
||||
Standard_EXPORT void SetColors (const Quantity_Color& AColor1, const Quantity_Color& AColor2, const Aspect_GradientFillMethod AMethod = Aspect_GFM_HOR);
|
||||
|
||||
//! Returns colours of the window gradient background <me>.
|
||||
Standard_EXPORT void Colors (Quantity_Color& AColor1, Quantity_Color& AColor2) const;
|
||||
|
||||
|
||||
//! Creates a window gradient background with two colours.
|
||||
Standard_EXPORT Aspect_GradientBackground (const Quantity_Color& theColor1,
|
||||
const Quantity_Color& theColor2,
|
||||
const Aspect_GradientFillMethod theMethod = Aspect_GradientFillMethod_Horizontal);
|
||||
|
||||
//! Modifies the colours of the window gradient background.
|
||||
Standard_EXPORT void SetColors (const Quantity_Color& theColor1,
|
||||
const Quantity_Color& theColor2,
|
||||
const Aspect_GradientFillMethod theMethod = Aspect_GradientFillMethod_Horizontal);
|
||||
|
||||
//! Returns colours of the window gradient background.
|
||||
Standard_EXPORT void Colors (Quantity_Color& theColor1, Quantity_Color& theColor2) const;
|
||||
|
||||
//! Returns the current gradient background fill mode.
|
||||
Standard_EXPORT Aspect_GradientFillMethod BgGradientFillMethod() const;
|
||||
|
||||
|
||||
//! Dumps the content of me into the stream
|
||||
Standard_EXPORT void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Quantity_Color MyColor2;
|
||||
Aspect_GradientFillMethod MyGradientMethod;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _Aspect_GradientBackground_HeaderFile
|
||||
|
||||
@@ -16,19 +16,30 @@
|
||||
#ifndef _Aspect_GradientFillMethod_HeaderFile
|
||||
#define _Aspect_GradientFillMethod_HeaderFile
|
||||
|
||||
//! Defines the fill methods to
|
||||
//! write gradient background in a window.
|
||||
//! Defines the fill methods to write gradient background in a window.
|
||||
enum Aspect_GradientFillMethod
|
||||
{
|
||||
Aspect_GFM_NONE,
|
||||
Aspect_GFM_HOR,
|
||||
Aspect_GFM_VER,
|
||||
Aspect_GFM_DIAG1,
|
||||
Aspect_GFM_DIAG2,
|
||||
Aspect_GFM_CORNER1,
|
||||
Aspect_GFM_CORNER2,
|
||||
Aspect_GFM_CORNER3,
|
||||
Aspect_GFM_CORNER4
|
||||
Aspect_GradientFillMethod_None, //!< fill method not specified
|
||||
Aspect_GradientFillMethod_Horizontal, //!< gradient directed from left (Color1) to right (Color2)
|
||||
Aspect_GradientFillMethod_Vertical, //!< gradient directed from top (Color1) to bottom (Color2)
|
||||
Aspect_GradientFillMethod_Diagonal1, //!< gradient directed from upper left corner (Color1) to lower right (Color2)
|
||||
Aspect_GradientFillMethod_Diagonal2, //!< gradient directed from upper right corner (Color1) to lower left (Color2)
|
||||
Aspect_GradientFillMethod_Corner1, //!< highlights upper left corner with Color1
|
||||
Aspect_GradientFillMethod_Corner2, //!< highlights upper right corner with Color1
|
||||
Aspect_GradientFillMethod_Corner3, //!< highlights lower right corner with Color1
|
||||
Aspect_GradientFillMethod_Corner4, //!< highlights lower left corner with Color1
|
||||
Aspect_GradientFillMethod_Elliptical, //!< gradient directed from center (Color1) in all directions forming an elliptic shape (Color2)
|
||||
|
||||
// obsolete aliases
|
||||
Aspect_GFM_NONE = Aspect_GradientFillMethod_None,
|
||||
Aspect_GFM_HOR = Aspect_GradientFillMethod_Horizontal,
|
||||
Aspect_GFM_VER = Aspect_GradientFillMethod_Vertical,
|
||||
Aspect_GFM_DIAG1 = Aspect_GradientFillMethod_Diagonal1,
|
||||
Aspect_GFM_DIAG2 = Aspect_GradientFillMethod_Diagonal2,
|
||||
Aspect_GFM_CORNER1 = Aspect_GradientFillMethod_Corner1,
|
||||
Aspect_GFM_CORNER2 = Aspect_GradientFillMethod_Corner2,
|
||||
Aspect_GFM_CORNER3 = Aspect_GradientFillMethod_Corner3,
|
||||
Aspect_GFM_CORNER4 = Aspect_GradientFillMethod_Corner4
|
||||
};
|
||||
|
||||
#endif // _Aspect_GradientFillMethod_HeaderFile
|
||||
|
||||
Reference in New Issue
Block a user