31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
// This file is part of VSTGUI. It is subject to the license terms
|
|
// in the LICENSE file found in the top-level directory of this
|
|
// distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
|
|
|
|
#pragma once
|
|
|
|
#include "vstguifwd.h"
|
|
|
|
namespace VSTGUI {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// IFocusDrawing Declaration
|
|
/// @brief Custom focus drawing interface
|
|
/// @ingroup new_in_4_0
|
|
///
|
|
/// @details If focus drawing is enabled custom views can implement this interface to set a custom shape to be drawn if the view is the focus view.
|
|
/// @sa CFrame
|
|
/// @sa CControl
|
|
//-----------------------------------------------------------------------------
|
|
class IFocusDrawing
|
|
{
|
|
public:
|
|
virtual ~IFocusDrawing () noexcept = default;
|
|
/** draw focus before view will be drawn or afterwards */
|
|
virtual bool drawFocusOnTop () = 0;
|
|
/** the graphics path will be drawn filled with the evenodd method and the color set in CFrame::setFocusColor() */
|
|
virtual bool getFocusPath (CGraphicsPath& outPath) = 0;
|
|
};
|
|
|
|
} // VSTGUI
|