mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:18:11 +00:00
LibPDF: Add more knowledge to ColorSpaces classes
ColorSpaces now can tell users how many components they expect, and the default decode array that should be used when converting unit bit sequences into color space component input values during image rendering.
This commit is contained in:
parent
ba16310739
commit
26f8c0b76c
2 changed files with 38 additions and 0 deletions
|
@ -73,6 +73,11 @@ Color DeviceGrayColorSpace::color(Vector<Value> const& arguments) const
|
|||
return Color(gray, gray, gray);
|
||||
}
|
||||
|
||||
Vector<float> DeviceGrayColorSpace::default_decode() const
|
||||
{
|
||||
return { 0.0f, 1.0f };
|
||||
}
|
||||
|
||||
NonnullRefPtr<DeviceRGBColorSpace> DeviceRGBColorSpace::the()
|
||||
{
|
||||
static auto instance = adopt_ref(*new DeviceRGBColorSpace());
|
||||
|
@ -88,6 +93,11 @@ Color DeviceRGBColorSpace::color(Vector<Value> const& arguments) const
|
|||
return Color(r, g, b);
|
||||
}
|
||||
|
||||
Vector<float> DeviceRGBColorSpace::default_decode() const
|
||||
{
|
||||
return { 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f };
|
||||
}
|
||||
|
||||
NonnullRefPtr<DeviceCMYKColorSpace> DeviceCMYKColorSpace::the()
|
||||
{
|
||||
static auto instance = adopt_ref(*new DeviceCMYKColorSpace());
|
||||
|
@ -104,6 +114,11 @@ Color DeviceCMYKColorSpace::color(Vector<Value> const& arguments) const
|
|||
return Color::from_cmyk(c, m, y, k);
|
||||
}
|
||||
|
||||
Vector<float> DeviceCMYKColorSpace::default_decode() const
|
||||
{
|
||||
return { 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f };
|
||||
}
|
||||
|
||||
PDFErrorOr<NonnullRefPtr<CalRGBColorSpace>> CalRGBColorSpace::create(Document* document, Vector<Value>&& parameters)
|
||||
{
|
||||
if (parameters.size() != 1)
|
||||
|
@ -274,6 +289,11 @@ Color CalRGBColorSpace::color(Vector<Value> const& arguments) const
|
|||
return Color(red, green, blue);
|
||||
}
|
||||
|
||||
Vector<float> CalRGBColorSpace::default_decode() const
|
||||
{
|
||||
return { 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f };
|
||||
}
|
||||
|
||||
PDFErrorOr<NonnullRefPtr<ColorSpace>> ICCBasedColorSpace::create(Document* document, Vector<Value>&& parameters)
|
||||
{
|
||||
if (parameters.is_empty())
|
||||
|
@ -313,4 +333,9 @@ Color ICCBasedColorSpace::color(Vector<Value> const&) const
|
|||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
Vector<float> ICCBasedColorSpace::default_decode() const
|
||||
{
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue