Files
PowerToys/src/modules/fancyzones/FancyZonesLib/Zone.h

32 lines
872 B
C
Raw Normal View History

#pragma once
namespace ZoneConstants
{
constexpr int MAX_NEGATIVE_SPACING = -20;
}
using ZoneIndex = int64_t;
using ZoneIndexSet = std::vector<ZoneIndex>;
using Bitmask = ZoneIndex;
2020-03-09 19:22:53 +01:00
/**
* Class representing one zone inside applied zone layout, which is basically wrapper around rectangle structure.
*/
interface __declspec(uuid("{8228E934-B6EF-402A-9892-15A1441BF8B0}")) IZone : public IUnknown
{
2020-03-09 19:22:53 +01:00
/**
* @returns Zone coordinates (top-left and bottom-right corner) represented as RECT structure.
*/
IFACEMETHOD_(RECT, GetZoneRect)() const = 0;
/**
* @returns Zone area calculated from zone rect
*/
IFACEMETHOD_(long, GetZoneArea)() const = 0;
2020-03-09 19:22:53 +01:00
/**
* @returns Zone identifier.
2020-03-09 19:22:53 +01:00
*/
IFACEMETHOD_(ZoneIndex, Id)() const = 0;
};
winrt::com_ptr<IZone> MakeZone(const RECT& zoneRect, const ZoneIndex zoneId) noexcept;