diff --git a/azure.rs b/azure.rs index 29be455..61cd1e5 100644 --- a/azure.rs +++ b/azure.rs @@ -79,7 +79,22 @@ pub static AZ_OP_DEST_OUT: u32 = 7_u32; pub static AZ_OP_DEST_OVER: u32 = 8_u32; pub static AZ_OP_DEST_ATOP: u32 = 9_u32; pub static AZ_OP_XOR: u32 = 10_u32; -pub static AZ_OP_COUNT: u32 = 11_u32; +pub static AZ_OP_MULTIPLY: u32 = 11_u32; +pub static AZ_OP_SCREEN: u32 = 12_u32; +pub static AZ_OP_OVERLAY: u32 = 13_u32; +pub static AZ_OP_DARKEN: u32 = 14_u32; +pub static AZ_OP_LIGHTEN: u32 = 15_u32; +pub static AZ_OP_COLOR_DODGE: u32 = 16_u32; +pub static AZ_OP_COLOR_BURN: u32 = 17_u32; +pub static AZ_OP_HARD_LIGHT: u32 = 18_u32; +pub static AZ_OP_SOFT_LIGHT: u32 = 19_u32; +pub static AZ_OP_DIFFERENCE: u32 = 20_u32; +pub static AZ_OP_EXCLUSION: u32 = 21_u32; +pub static AZ_OP_HUE: u32 = 22_u32; +pub static AZ_OP_SATURATION: u32 = 23_u32; +pub static AZ_OP_COLOR: u32 = 24_u32; +pub static AZ_OP_LUMINOSITY: u32 = 25_u32; +pub static AZ_OP_COUNT: u32 = 26_u32; pub type enum_AzExtendMode = c_uint; pub static AZ_EXTEND_CLAMP: u32 = 0_u32; diff --git a/azure_hl.rs b/azure_hl.rs index 9efa863..abc990a 100644 --- a/azure_hl.rs +++ b/azure_hl.rs @@ -184,6 +184,23 @@ impl DrawOptions { fields: self.fields } } + + pub fn set_composition_op(&mut self, style: u8) { + self.fields = self.fields & 0b1111_1111_0000_0000_u16; + self.fields = self.fields | style as u16; + } + + pub fn set_antialias_mode(&mut self, style: u8) { + self.fields = self.fields & 0b1111_1000_1111_1111_u16; + let style = ((style & 7) as u16) << 8; + self.fields = self.fields | style; + } + + pub fn set_snapping(&mut self, style: u8) { + self.fields = self.fields & 0b1111_0111_1111_1111_u16; + let style = ((style & 1) as u16) << 11; + self.fields = self.fields | style; + } }