يتم نسخ النوع الحالي enum Color
من الأيام التي استخدم فيها Conrod elmesque (مكتبة رسوميات وظيفية مستوحاة من خشب الدردار). في هذه الأيام ، ليس من المنطقي حقًا أن يكون Color تعدادًا.
أعتقد أنه يجب علينا تغيير الأنواع Color
و Rgba
و Hsla
إلى هذا:
pub struct Rgba(pub [f32; 4]);
pub struct Hsla(pub [f32; 4]);
pub type Color = Rgba;
إذا كان Rgba
هو تنسيق sRGB بالفعل ، فربما يكون الأمر أكثر وضوحًا إذا كان اسمه Srgba
.
تحرير: إذا لم يكن الأمر كذلك ، فيجب أن تتضمن مستندات API أنه خطي
يبدو أن الهياكل Rgba
و Hsla
موجودة في الكود. هل هناك أي شيء آخر يجب القيام به؟
أيضًا ، لماذا يكون لديك اسم مستعار من النوع Color
؟ لماذا لا تجبر المستخدمين فقط على اختيار إما Rgba
أو Hsla
، حيث أنهم موجودون بالفعل في الوحدة النمطية color
في المقام الأول؟
مجرد تحديث للمكان الذي أكون فيه في هذا - إذا كنت سأعود إلى هذا اليوم ، فمن المحتمل أن أزيل دعم hsl ، وأقدم فقط الحد الأدنى من النوع Srgba
ثم قم بإحالة المستخدمين إلى صندوق اللوحة إذا رغبوا في ذلك يحبون العمل مع مساحات الألوان الأخرى.
التعليق الأكثر فائدة
إذا كان
Rgba
هو تنسيق sRGB بالفعل ، فربما يكون الأمر أكثر وضوحًا إذا كان اسمهSrgba
.تحرير: إذا لم يكن الأمر كذلك ، فيجب أن تتضمن مستندات API أنه خطي