pub trait PatternBuilder {
// Required methods
fn build(
&self,
_sub_rect: Option<DeviceRect>,
_ctx: &PatternBuilderContext<'_>,
_state: &mut PatternBuilderState<'_>,
) -> Pattern;
fn get_base_color(&self, _ctx: &PatternBuilderContext<'_>) -> ColorF;
fn use_shared_pattern(&self) -> bool;
// Provided method
fn can_use_nine_patch(&self) -> bool { ... }
}