use super::{AttributeKind, DataKind};
#[derive(Debug, Clone, Hash)]
pub struct GLAttribute {
kind: AttributeKind,
count: usize,
item_count: usize,
item_kind: DataKind,
location: usize,
}
impl GLAttribute {
#[inline]
pub fn new(kind: AttributeKind, count: usize, location: usize) -> Self {
let (item_count, item_kind) = kind.item_data();
GLAttribute {
kind: kind,
count: count,
item_count: item_count,
item_kind: item_kind,
location: location,
}
}
#[inline(always)]
pub fn kind(&self) -> AttributeKind {
self.kind
}
#[inline(always)]
pub fn count(&self) -> usize {
self.count
}
#[inline(always)]
pub fn item_count(&self) -> usize {
self.item_count
}
#[inline(always)]
pub fn item_kind(&self) -> DataKind {
self.item_kind
}
#[inline(always)]
pub fn location(&self) -> usize {
self.location
}
}