add derives
This commit is contained in:
		
							parent
							
								
									c65b735f57
								
							
						
					
					
						commit
						363609c663
					
				
					 15 changed files with 55 additions and 101 deletions
				
			
		| 
						 | 
				
			
			@ -1,17 +1,13 @@
 | 
			
		|||
use crate::{
 | 
			
		||||
    containers::{wrap_grid, ByteSlice},
 | 
			
		||||
    macros::wrap,
 | 
			
		||||
};
 | 
			
		||||
use crate::{containers::ByteSlice, macros::wrap};
 | 
			
		||||
use servicepoint::{
 | 
			
		||||
    Bitmap, BitmapCommand, CompressionCode, DataRef, DisplayBitVec, Grid,
 | 
			
		||||
    Origin, Packet,
 | 
			
		||||
};
 | 
			
		||||
use std::ptr::NonNull;
 | 
			
		||||
 | 
			
		||||
wrap_grid!(Bitmap, bool);
 | 
			
		||||
 | 
			
		||||
wrap! {
 | 
			
		||||
    Bitmap {
 | 
			
		||||
    derives: crate::containers::derive_container, crate::containers::derive_grid[bool];
 | 
			
		||||
    functions:
 | 
			
		||||
        /// Creates a new [Bitmap] with the specified dimensions.
 | 
			
		||||
        ///
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +1,12 @@
 | 
			
		|||
use crate::{
 | 
			
		||||
    containers::{wrap_container, ByteSlice},
 | 
			
		||||
    macros::wrap,
 | 
			
		||||
};
 | 
			
		||||
use crate::{containers::ByteSlice, macros::wrap};
 | 
			
		||||
use servicepoint::{
 | 
			
		||||
    BinaryOperation, BitVecCommand, CompressionCode, DisplayBitVec, Packet,
 | 
			
		||||
};
 | 
			
		||||
use std::ptr::NonNull;
 | 
			
		||||
 | 
			
		||||
wrap_container!(DisplayBitVec);
 | 
			
		||||
 | 
			
		||||
wrap! {
 | 
			
		||||
    DisplayBitVec {
 | 
			
		||||
    derives: crate::containers::derive_container;
 | 
			
		||||
    functions:
 | 
			
		||||
        /// Creates a new [DisplayBitVec] instance.
 | 
			
		||||
        ///
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +1,13 @@
 | 
			
		|||
use crate::{
 | 
			
		||||
    containers::{wrap_grid, ByteSlice},
 | 
			
		||||
    macros::wrap,
 | 
			
		||||
};
 | 
			
		||||
use crate::{containers::ByteSlice, macros::wrap};
 | 
			
		||||
use servicepoint::{
 | 
			
		||||
    Brightness, BrightnessGrid, BrightnessGridCommand, ByteGrid, DataRef, Grid,
 | 
			
		||||
    Origin, Packet,
 | 
			
		||||
};
 | 
			
		||||
use std::{mem::transmute, ptr::NonNull};
 | 
			
		||||
 | 
			
		||||
wrap_grid!(BrightnessGrid, Brightness);
 | 
			
		||||
 | 
			
		||||
wrap! {
 | 
			
		||||
    BrightnessGrid {
 | 
			
		||||
    derives: crate::containers::derive_container, crate::containers::derive_grid[Brightness];
 | 
			
		||||
    functions:
 | 
			
		||||
        /// Creates a new [BrightnessGrid] with the specified dimensions.
 | 
			
		||||
        ///
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,10 @@
 | 
			
		|||
use crate::{
 | 
			
		||||
    containers::{derive_get_width_height, wrap_container, ByteSlice},
 | 
			
		||||
    macros::wrap,
 | 
			
		||||
};
 | 
			
		||||
use crate::{containers::ByteSlice, macros::wrap};
 | 
			
		||||
use servicepoint::{CharGrid, CharGridCommand, Grid, Origin, Packet};
 | 
			
		||||
use std::ptr::NonNull;
 | 
			
		||||
 | 
			
		||||
wrap_container!(CharGrid);
 | 
			
		||||
derive_get_width_height!(CharGrid);
 | 
			
		||||
 | 
			
		||||
wrap! {
 | 
			
		||||
    CharGrid {
 | 
			
		||||
    derives: crate::containers::derive_container, crate::containers::derive_get_width_height;
 | 
			
		||||
    functions:
 | 
			
		||||
        /// Creates a new [CharGrid] with the specified dimensions.
 | 
			
		||||
        ///
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +1,12 @@
 | 
			
		|||
use crate::{
 | 
			
		||||
    containers::{wrap_grid, ByteSlice},
 | 
			
		||||
    macros::wrap,
 | 
			
		||||
};
 | 
			
		||||
use crate::{containers::ByteSlice, macros::wrap};
 | 
			
		||||
use servicepoint::{
 | 
			
		||||
    Cp437Grid, Cp437GridCommand, DataRef, Grid, Origin, Packet,
 | 
			
		||||
};
 | 
			
		||||
use std::ptr::NonNull;
 | 
			
		||||
 | 
			
		||||
wrap_grid!(Cp437Grid, u8);
 | 
			
		||||
 | 
			
		||||
wrap! {
 | 
			
		||||
    Cp437Grid {
 | 
			
		||||
    derives: crate::containers::derive_container, crate::containers::derive_grid[u8];
 | 
			
		||||
    functions:
 | 
			
		||||
        /// Creates a new [Cp437Grid] with the specified dimensions.
 | 
			
		||||
        ///
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ pub use byte_slice::*;
 | 
			
		|||
pub use char_grid::*;
 | 
			
		||||
pub use cp437_grid::*;
 | 
			
		||||
 | 
			
		||||
macro_rules! wrap_container {
 | 
			
		||||
macro_rules! derive_container {
 | 
			
		||||
    ($object_type:ident) => {
 | 
			
		||||
        $crate::macros::derive_clone!($object_type);
 | 
			
		||||
        $crate::macros::derive_free!($object_type);
 | 
			
		||||
| 
						 | 
				
			
			@ -31,9 +31,8 @@ macro_rules! derive_get_width_height {
 | 
			
		|||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
macro_rules! wrap_grid {
 | 
			
		||||
macro_rules! derive_grid {
 | 
			
		||||
    ($object_type:ident, $value_type:ident) => {
 | 
			
		||||
        $crate::containers::wrap_container!($object_type);
 | 
			
		||||
        $crate::containers::derive_get_width_height!($object_type);
 | 
			
		||||
        $crate::macros::wrap_methods! {$object_type;
 | 
			
		||||
            /// Gets the current value at the specified position.
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +68,7 @@ macro_rules! wrap_grid {
 | 
			
		|||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub(crate) use {derive_get_width_height, wrap_container, wrap_grid};
 | 
			
		||||
pub(crate) use {derive_container, derive_get_width_height, derive_grid};
 | 
			
		||||
 | 
			
		||||
mod _hidden {
 | 
			
		||||
    /// This is a type only used by cbindgen to have a type for pointers.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue