use crate::co;
use crate::decl::*;
use crate::msg::*;
use crate::prelude::*;
use crate::user::privs::*;
pub struct BcmGetIdealSize<'a> {
pub size: &'a mut SIZE,
}
impl<'a> MsgSend for BcmGetIdealSize<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETIDEALSIZE.into(),
wparam: 0,
lparam: self.size as *mut _ as _,
}
}
}
pub struct BcmGetImageList<'a> {
pub info: &'a mut BUTTON_IMAGELIST,
}
impl<'a> MsgSend for BcmGetImageList<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETIMAGELIST.into(),
wparam: 0,
lparam: self.info as *mut _ as _,
}
}
}
pub struct BcmGetNote<'a> {
pub text: &'a mut WString,
}
impl<'a> MsgSend for BcmGetNote<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETNOTE.into(),
wparam: self.text.buf_len(),
lparam: unsafe { self.text.as_mut_ptr() } as _,
}
}
}
pub struct BcmGetNoteLength {}
impl MsgSend for BcmGetNoteLength {
type RetType = u32;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
v as _
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETNOTELENGTH.into(),
wparam: 0,
lparam: 0,
}
}
}
pub struct BcmGetSplitInfo<'a> {
pub splitinfo: &'a mut BUTTON_SPLITINFO,
}
impl<'a> MsgSend for BcmGetSplitInfo<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETSPLITINFO.into(),
wparam: 0,
lparam: self.splitinfo as *mut _ as _,
}
}
}
pub struct BcmGetTextMargin<'a> {
pub margins: &'a mut RECT,
}
impl<'a> MsgSend for BcmGetTextMargin<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::GETTEXTMARGIN.into(),
wparam: 0,
lparam: self.margins as *mut _ as _,
}
}
}
pub struct BcmSetDropDownState {
pub is_pushed: bool,
}
impl MsgSend for BcmSetDropDownState {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETDROPDOWNSTATE.into(),
wparam: self.is_pushed as _,
lparam: 0,
}
}
}
pub struct BcmSetImageList<'a> {
pub info: &'a BUTTON_IMAGELIST,
}
impl<'a> MsgSend for BcmSetImageList<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETIMAGELIST.into(),
wparam: 0,
lparam: self.info as *const _ as _,
}
}
}
pub struct BcmSetNote {
pub text: WString,
}
impl MsgSend for BcmSetNote {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETNOTE.into(),
wparam: self.text.buf_len(),
lparam: self.text.as_ptr() as _,
}
}
}
pub struct BcmSetShield {
pub has_elevated_icon: bool,
}
impl MsgSend for BcmSetShield {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETSHIELD.into(),
wparam: self.has_elevated_icon as _,
lparam: 0,
}
}
}
pub struct BcmSetSplitInfo<'a> {
pub splitinfo: &'a BUTTON_SPLITINFO,
}
impl<'a> MsgSend for BcmSetSplitInfo<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETSPLITINFO.into(),
wparam: 0,
lparam: self.splitinfo as *const _ as _,
}
}
}
pub struct BcmSetTextMargin<'a> {
pub margins: &'a RECT,
}
impl<'a> MsgSend for BcmSetTextMargin<'a> {
type RetType = SysResult<()>;
unsafe fn isize_to_ret(&self, v: isize) -> Self::RetType {
zero_as_badargs(v).map(|_| ())
}
fn as_generic_wm(&mut self) -> Wm {
Wm {
msg_id: co::BCM::SETTEXTMARGIN.into(),
wparam: 0,
lparam: self.margins as *const _ as _,
}
}
}