mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
style: Move cursor to cbindgen.
The only reason it was on style_traits is so that they could use it from some other crates, but Servo eventually ends up getting the value from an integer, so may as well pass it around and do that in the end of the process anyway. Differential Revision: https://phabricator.services.mozilla.com/D16557
This commit is contained in:
parent
88fd730775
commit
92b58ade2f
8 changed files with 66 additions and 222 deletions
|
@ -12,7 +12,6 @@ use crate::values::specified::Number;
|
|||
use crate::values::{Auto, Either};
|
||||
use cssparser::Parser;
|
||||
use std::fmt::{self, Write};
|
||||
use style_traits::cursor::CursorKind;
|
||||
use style_traits::{CssWriter, ParseError, StyleParseErrorKind, ToCss};
|
||||
|
||||
/// auto | <color>
|
||||
|
@ -40,23 +39,11 @@ impl Parse for Cursor {
|
|||
}
|
||||
Ok(Self {
|
||||
images: images.into_boxed_slice(),
|
||||
keyword: CursorKind::parse(context, input)?,
|
||||
keyword: CursorKind::parse(input)?,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
impl Parse for CursorKind {
|
||||
fn parse<'i, 't>(
|
||||
_context: &ParserContext,
|
||||
input: &mut Parser<'i, 't>,
|
||||
) -> Result<Self, ParseError<'i>> {
|
||||
let location = input.current_source_location();
|
||||
let ident = input.expect_ident()?;
|
||||
CursorKind::from_css_keyword(&ident)
|
||||
.map_err(|_| location.new_custom_error(StyleParseErrorKind::UnspecifiedError))
|
||||
}
|
||||
}
|
||||
|
||||
impl Parse for CursorImage {
|
||||
fn parse<'i, 't>(
|
||||
context: &ParserContext,
|
||||
|
@ -166,3 +153,63 @@ pub enum UserSelect {
|
|||
/// Force selection of all children.
|
||||
All,
|
||||
}
|
||||
|
||||
/// The keywords allowed in the Cursor property.
|
||||
///
|
||||
/// https://drafts.csswg.org/css-ui-4/#propdef-cursor
|
||||
#[allow(missing_docs)]
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
Debug,
|
||||
Eq,
|
||||
MallocSizeOf,
|
||||
Parse,
|
||||
PartialEq,
|
||||
SpecifiedValueInfo,
|
||||
ToComputedValue,
|
||||
ToCss,
|
||||
)]
|
||||
#[repr(u8)]
|
||||
pub enum CursorKind {
|
||||
None,
|
||||
Default,
|
||||
Pointer,
|
||||
ContextMenu,
|
||||
Help,
|
||||
Progress,
|
||||
Wait,
|
||||
Cell,
|
||||
Crosshair,
|
||||
Text,
|
||||
VerticalText,
|
||||
Alias,
|
||||
Copy,
|
||||
Move,
|
||||
NoDrop,
|
||||
NotAllowed,
|
||||
Grab,
|
||||
Grabbing,
|
||||
EResize,
|
||||
NResize,
|
||||
NeResize,
|
||||
NwResize,
|
||||
SResize,
|
||||
SeResize,
|
||||
SwResize,
|
||||
WResize,
|
||||
EwResize,
|
||||
NsResize,
|
||||
NeswResize,
|
||||
NwseResize,
|
||||
ColResize,
|
||||
RowResize,
|
||||
AllScroll,
|
||||
ZoomIn,
|
||||
ZoomOut,
|
||||
Auto,
|
||||
MozGrab,
|
||||
MozGrabbing,
|
||||
MozZoomIn,
|
||||
MozZoomOut,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue