#[repr(C)]pub struct _DevDesc {Show 83 fields
pub left: f64,
pub right: f64,
pub bottom: f64,
pub top: f64,
pub clipLeft: f64,
pub clipRight: f64,
pub clipBottom: f64,
pub clipTop: f64,
pub xCharOffset: f64,
pub yCharOffset: f64,
pub yLineBias: f64,
pub ipr: [f64; 2],
pub cra: [f64; 2],
pub gamma: f64,
pub canClip: Rboolean,
pub canChangeGamma: Rboolean,
pub canHAdj: i32,
pub startps: f64,
pub startcol: i32,
pub startfill: i32,
pub startlty: i32,
pub startfont: i32,
pub startgamma: f64,
pub deviceSpecific: *mut c_void,
pub displayListOn: Rboolean,
pub canGenMouseDown: Rboolean,
pub canGenMouseMove: Rboolean,
pub canGenMouseUp: Rboolean,
pub canGenKeybd: Rboolean,
pub canGenIdle: Rboolean,
pub gettingEvent: Rboolean,
pub activate: Option<unsafe extern "C" fn(*mut _DevDesc)>,
pub circle: Option<unsafe extern "C" fn(f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub clip: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut _DevDesc)>,
pub close: Option<unsafe extern "C" fn(*mut _DevDesc)>,
pub deactivate: Option<unsafe extern "C" fn(*mut _DevDesc)>,
pub locator: Option<unsafe extern "C" fn(*mut f64, *mut f64, *mut _DevDesc) -> Rboolean>,
pub line: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub metricInfo: Option<unsafe extern "C" fn(i32, *mut R_GE_gcontext, *mut f64, *mut f64, *mut f64, *mut _DevDesc)>,
pub mode: Option<unsafe extern "C" fn(i32, *mut _DevDesc)>,
pub newPage: Option<unsafe extern "C" fn(*mut R_GE_gcontext, *mut _DevDesc)>,
pub polygon: Option<unsafe extern "C" fn(i32, *mut f64, *mut f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub polyline: Option<unsafe extern "C" fn(i32, *mut f64, *mut f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub rect: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub path: Option<unsafe extern "C" fn(*mut f64, *mut f64, i32, *mut i32, Rboolean, *mut R_GE_gcontext, *mut _DevDesc)>,
pub raster: Option<unsafe extern "C" fn(*mut u32, i32, i32, f64, f64, f64, f64, f64, Rboolean, *mut R_GE_gcontext, *mut _DevDesc)>,
pub cap: Option<unsafe extern "C" fn(*mut _DevDesc) -> *mut SEXPREC>,
pub size: Option<unsafe extern "C" fn(*mut f64, *mut f64, *mut f64, *mut f64, *mut _DevDesc)>,
pub strWidth: Option<unsafe extern "C" fn(*const i8, *mut R_GE_gcontext, *mut _DevDesc) -> f64>,
pub text: Option<unsafe extern "C" fn(f64, f64, *const i8, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub onExit: Option<unsafe extern "C" fn(*mut _DevDesc)>,
pub getEvent: Option<unsafe extern "C" fn(*mut SEXPREC, *const i8) -> *mut SEXPREC>,
pub newFrameConfirm: Option<unsafe extern "C" fn(*mut _DevDesc) -> Rboolean>,
pub hasTextUTF8: Rboolean,
pub textUTF8: Option<unsafe extern "C" fn(f64, f64, *const i8, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>,
pub strWidthUTF8: Option<unsafe extern "C" fn(*const i8, *mut R_GE_gcontext, *mut _DevDesc) -> f64>,
pub wantSymbolUTF8: Rboolean,
pub useRotatedTextInContour: Rboolean,
pub eventEnv: *mut SEXPREC,
pub eventHelper: Option<unsafe extern "C" fn(*mut _DevDesc, i32)>,
pub holdflush: Option<unsafe extern "C" fn(*mut _DevDesc, i32) -> i32>,
pub haveTransparency: i32,
pub haveTransparentBg: i32,
pub haveRaster: i32,
pub haveCapture: i32,
pub haveLocator: i32,
pub setPattern: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>,
pub releasePattern: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>,
pub setClipPath: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>,
pub releaseClipPath: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>,
pub setMask: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>,
pub releaseMask: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>,
pub deviceVersion: i32,
pub deviceClip: Rboolean,
pub defineGroup: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>,
pub useGroup: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc)>,
pub releaseGroup: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>,
pub stroke: Option<unsafe extern "C" fn(*mut SEXPREC, *mut R_GE_gcontext, *mut _DevDesc)>,
pub fill: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut R_GE_gcontext, *mut _DevDesc)>,
pub fillStroke: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut R_GE_gcontext, *mut _DevDesc)>,
pub capabilities: Option<unsafe extern "C" fn(*mut SEXPREC) -> *mut SEXPREC>,
pub glyph: Option<unsafe extern "C" fn(i32, *mut i32, *mut f64, *mut f64, *mut SEXPREC, f64, i32, f64, *mut _DevDesc)>,
pub reserved: [i8; 64],
}Fields§
§left: f64left raster coordinate
right: f64right raster coordinate
bottom: f64bottom raster coordinate
top: f64top raster coordinate
clipLeft: f64R only has the notion of a rectangular clipping region
clipRight: f64§clipBottom: f64§clipTop: f64§xCharOffset: f64x character addressing offset - unused
yCharOffset: f64y character addressing offset
yLineBias: f641/2 interline space as frac of line height
ipr: [f64; 2]Inches per raster; [0]=x, [1]=y
cra: [f64; 2]Character size in rasters; [0]=x, [1]=y
gamma: f64(initial) Device Gamma Correction
canClip: RbooleanDevice-level clipping
canChangeGamma: Rbooleancan the gamma factor be modified?
canHAdj: i32Can do at least some horiz adjust of text 0 = none, 1 = {0,0.5,1}, 2 = [0,1]
startps: f64Device initial settings / /* These are things that the device must set up when it is created. The graphics system can modify them and track current values,
startcol: i32sets par(“fg”), par(“col”) and gpar(“col”)
startfill: i32sets par(“bg”) and gpar(“fill”)
startlty: i32§startfont: i32§startgamma: f64§deviceSpecific: *mut c_voidpointer to device specific parameters
displayListOn: Rbooleantoggle for initial display list status
canGenMouseDown: Rbooleancan the device generate mousedown events
canGenMouseMove: Rbooleancan the device generate mousemove events
canGenMouseUp: Rbooleancan the device generate mouseup events
canGenKeybd: Rbooleancan the device generate keyboard events
canGenIdle: Rbooleancan the device generate idle events
gettingEvent: RbooleanThis is set while getGraphicsEvent is actively looking for events
activate: Option<unsafe extern "C" fn(*mut _DevDesc)>§circle: Option<unsafe extern "C" fn(f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>§clip: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut _DevDesc)>§close: Option<unsafe extern "C" fn(*mut _DevDesc)>§deactivate: Option<unsafe extern "C" fn(*mut _DevDesc)>§locator: Option<unsafe extern "C" fn(*mut f64, *mut f64, *mut _DevDesc) -> Rboolean>§line: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>§metricInfo: Option<unsafe extern "C" fn(i32, *mut R_GE_gcontext, *mut f64, *mut f64, *mut f64, *mut _DevDesc)>§mode: Option<unsafe extern "C" fn(i32, *mut _DevDesc)>§newPage: Option<unsafe extern "C" fn(*mut R_GE_gcontext, *mut _DevDesc)>§polygon: Option<unsafe extern "C" fn(i32, *mut f64, *mut f64, *mut R_GE_gcontext, *mut _DevDesc)>§polyline: Option<unsafe extern "C" fn(i32, *mut f64, *mut f64, *mut R_GE_gcontext, *mut _DevDesc)>§rect: Option<unsafe extern "C" fn(f64, f64, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>§path: Option<unsafe extern "C" fn(*mut f64, *mut f64, i32, *mut i32, Rboolean, *mut R_GE_gcontext, *mut _DevDesc)>§raster: Option<unsafe extern "C" fn(*mut u32, i32, i32, f64, f64, f64, f64, f64, Rboolean, *mut R_GE_gcontext, *mut _DevDesc)>§cap: Option<unsafe extern "C" fn(*mut _DevDesc) -> *mut SEXPREC>§size: Option<unsafe extern "C" fn(*mut f64, *mut f64, *mut f64, *mut f64, *mut _DevDesc)>§strWidth: Option<unsafe extern "C" fn(*const i8, *mut R_GE_gcontext, *mut _DevDesc) -> f64>§text: Option<unsafe extern "C" fn(f64, f64, *const i8, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>§onExit: Option<unsafe extern "C" fn(*mut _DevDesc)>§getEvent: Option<unsafe extern "C" fn(*mut SEXPREC, *const i8) -> *mut SEXPREC>device_getEvent is no longer used, but the slot is kept for back compatibility of the structure.
newFrameConfirm: Option<unsafe extern "C" fn(*mut _DevDesc) -> Rboolean>§hasTextUTF8: Rbooleanand strWidthUTF8
textUTF8: Option<unsafe extern "C" fn(f64, f64, *const i8, f64, f64, *mut R_GE_gcontext, *mut _DevDesc)>§strWidthUTF8: Option<unsafe extern "C" fn(*const i8, *mut R_GE_gcontext, *mut _DevDesc) -> f64>§wantSymbolUTF8: Rboolean§useRotatedTextInContour: RbooleanIs rotated text good enough to be preferable to Hershey in contour labels? Old default was FALSE.
eventEnv: *mut SEXPRECThis is an environment holding event handlers.
eventHelper: Option<unsafe extern "C" fn(*mut _DevDesc, i32)>§holdflush: Option<unsafe extern "C" fn(*mut _DevDesc, i32) -> i32>§haveTransparency: i321 = no, 2 = yes
haveTransparentBg: i321 = no, 2 = fully, 3 = semi
haveRaster: i321 = no, 2 = yes, 3 = except for missing values
haveCapture: i321 = no, 2 = yes
haveLocator: i321 = no, 2 = yes
setPattern: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>§releasePattern: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>§setClipPath: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>§releaseClipPath: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>§setMask: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>§releaseMask: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>§deviceVersion: i32This should match R_GE_version, BUT it does not have to. It give the graphics engine a chance to work with graphics device packages BEFORE they update to changes in R_GE_version.
deviceClip: RbooleanThis can be used to OVERRIDE canClip so that graphics engine leaves ALL clipping to the graphics device
defineGroup: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut SEXPREC, *mut _DevDesc) -> *mut SEXPREC>§useGroup: Option<unsafe extern "C" fn(*mut SEXPREC, *mut SEXPREC, *mut _DevDesc)>§releaseGroup: Option<unsafe extern "C" fn(*mut SEXPREC, *mut _DevDesc)>§stroke: Option<unsafe extern "C" fn(*mut SEXPREC, *mut R_GE_gcontext, *mut _DevDesc)>§fill: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut R_GE_gcontext, *mut _DevDesc)>§fillStroke: Option<unsafe extern "C" fn(*mut SEXPREC, i32, *mut R_GE_gcontext, *mut _DevDesc)>§capabilities: Option<unsafe extern "C" fn(*mut SEXPREC) -> *mut SEXPREC>§glyph: Option<unsafe extern "C" fn(i32, *mut i32, *mut f64, *mut f64, *mut SEXPREC, f64, i32, f64, *mut _DevDesc)>§reserved: [i8; 64]Area for future expansion. By zeroing this, devices are more likely to work if loaded into a later version of R than that they were compiled under.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for _DevDesc
impl RefUnwindSafe for _DevDesc
impl !Send for _DevDesc
impl !Sync for _DevDesc
impl Unpin for _DevDesc
impl UnwindSafe for _DevDesc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more