w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

graphite2::KernCollider Class Reference

#include <Collider.h>

Collaboration diagram for graphite2::KernCollider:
[legend]

Public Member Functions

 KernCollider (json *dbg)
 
 ~KernCollider () throw ()
 
bool initSlot (Segment *seg, Slot *aSlot, const Rect &constraint, float margin, const Position &currShift, const Position &offsetPrev, int dir, float ymin, float ymax, json *const dbgout)
 
bool mergeSlot (Segment *seg, Slot *slot, const Position &currShift, float currSpace, int dir, json *const dbgout)
 
Position resolve (Segment *seg, Slot *slot, int dir, json *const dbgout)
 
void shift (const Position &mv, int dir)
 
 KernCollider (json *dbg)
 
 ~KernCollider () throw ()
 
bool initSlot (Segment *seg, Slot *aSlot, const Rect &constraint, float margin, const Position &currShift, const Position &offsetPrev, int dir, float ymin, float ymax, json *const dbgout)
 
bool mergeSlot (Segment *seg, Slot *slot, const Position &currShift, float currSpace, int dir, json *const dbgout)
 
Position resolve (Segment *seg, Slot *slot, int dir, json *const dbgout)
 
void shift (const Position &mv, int dir)
 

Public Attributes

 CLASS_NEW_DELETE
 

Private Attributes

Slot_target
 
Rect _limit
 
float _margin
 
Position _offsetPrev
 
Position _currShift
 
float _miny
 
float _maxy
 
Vector< float > _edges
 
float _sliceWidth
 
float _mingap
 
float _xbound
 
bool _hit
 
Segment_seg
 
Vector< float > _nearEdges
 
Vector< Slot * > _slotNear
 

Detailed Description

Definition at line 187 of file Collider.h.

Constructor & Destructor Documentation

◆ KernCollider() [1/2]

graphite2::KernCollider::KernCollider ( json dbg)

◆ ~KernCollider() [1/2]

graphite2::KernCollider::~KernCollider ( )
throw (
)
inline

Definition at line 191 of file Collider.h.

◆ KernCollider() [2/2]

graphite2::KernCollider::KernCollider ( json dbg)

◆ ~KernCollider() [2/2]

graphite2::KernCollider::~KernCollider ( )
throw (
)
inline

Definition at line 191 of file Collider.h.

Member Function Documentation

◆ initSlot() [1/2]

bool graphite2::KernCollider::initSlot ( Segment seg,
Slot aSlot,
const Rect constraint,
float  margin,
const Position currShift,
const Position offsetPrev,
int  dir,
float  ymin,
float  ymax,
json *const  dbgout 
)

◆ initSlot() [2/2]

bool graphite2::KernCollider::initSlot ( Segment seg,
Slot aSlot,
const Rect constraint,
float  margin,
const Position currShift,
const Position offsetPrev,
int  dir,
float  ymin,
float  ymax,
json *const  dbgout 
)

◆ mergeSlot() [1/2]

bool graphite2::KernCollider::mergeSlot ( Segment seg,
Slot slot,
const Position currShift,
float  currSpace,
int  dir,
json *const  dbgout 
)

◆ mergeSlot() [2/2]

bool graphite2::KernCollider::mergeSlot ( Segment seg,
Slot slot,
const Position currShift,
float  currSpace,
int  dir,
json *const  dbgout 
)

◆ resolve() [1/2]

Position graphite2::KernCollider::resolve ( Segment seg,
Slot slot,
int  dir,
json *const  dbgout 
)

◆ resolve() [2/2]

Position graphite2::KernCollider::resolve ( Segment seg,
Slot slot,
int  dir,
json *const  dbgout 
)

◆ shift() [1/2]

void KernCollider::shift ( const Position mv,
int  dir 
)

Definition at line 1057 of file Collider.cpp.

References _edges, _xbound, dir, e, and graphite2::Position::x.

Referenced by graphite2::Pass::resolveKern().

◆ shift() [2/2]

void graphite2::KernCollider::shift ( const Position mv,
int  dir 
)

Member Data Documentation

◆ _currShift

Position graphite2::KernCollider::_currShift
private

Definition at line 206 of file Collider.h.

◆ _edges

Vector< float > graphite2::KernCollider::_edges
private

Definition at line 209 of file Collider.h.

Referenced by shift().

◆ _hit

bool graphite2::KernCollider::_hit
private

Definition at line 213 of file Collider.h.

◆ _limit

Rect graphite2::KernCollider::_limit
private

Definition at line 203 of file Collider.h.

◆ _margin

float graphite2::KernCollider::_margin
private

Definition at line 204 of file Collider.h.

◆ _maxy

float graphite2::KernCollider::_maxy
private

Definition at line 208 of file Collider.h.

◆ _mingap

float graphite2::KernCollider::_mingap
private

Definition at line 211 of file Collider.h.

◆ _miny

float graphite2::KernCollider::_miny
private

Definition at line 207 of file Collider.h.

◆ _nearEdges

Vector< float > graphite2::KernCollider::_nearEdges
private

Definition at line 218 of file Collider.h.

◆ _offsetPrev

Position graphite2::KernCollider::_offsetPrev
private

Definition at line 205 of file Collider.h.

◆ _seg

Segment * graphite2::KernCollider::_seg
private

Definition at line 217 of file Collider.h.

◆ _sliceWidth

float graphite2::KernCollider::_sliceWidth
private

Definition at line 210 of file Collider.h.

◆ _slotNear

Vector< Slot * > graphite2::KernCollider::_slotNear
private

Definition at line 219 of file Collider.h.

◆ _target

Slot * graphite2::KernCollider::_target
private

Definition at line 202 of file Collider.h.

◆ _xbound

float graphite2::KernCollider::_xbound
private

Definition at line 212 of file Collider.h.

Referenced by shift().

◆ CLASS_NEW_DELETE

graphite2::KernCollider::CLASS_NEW_DELETE

Definition at line 199 of file Collider.h.


The documentation for this class was generated from the following files: