godot/thirdparty/msdfgen/core/edge-selectors.h


#pragma once

#include "Vector2.hpp"
#include "SignedDistance.hpp"
#include "edge-segments.h"

namespace msdfgen {

struct MultiDistance {};
struct MultiAndTrueDistance : MultiDistance {};

/// Selects the nearest edge by its true distance.
class TrueDistanceSelector {};

class PseudoDistanceSelectorBase {};

/// Selects the nearest edge by its pseudo-distance.
class PseudoDistanceSelector : public PseudoDistanceSelectorBase {};

/// Selects the nearest edge for each of the three channels by its pseudo-distance.
class MultiDistanceSelector {};

/// Selects the nearest edge for each of the three color channels by its pseudo-distance and by true distance for the alpha channel.
class MultiAndTrueDistanceSelector : public MultiDistanceSelector {};

}