Source Code (Use browser search to find items of interest.)
Class Index
kicker'EyesApplet (./kdebase/kicker/externalapplets/eyes/eyes.h:35)
class EyesApplet : public KPanelApplet
{
Q_OBJECT
public:
EyesApplet( QWidget* parent = 0, const char* name = 0 );
~EyesApplet();
int widthForHeight(int height);
int heightForWidth(int width);
protected:
void timerEvent(QTimerEvent*);
void resizeEvent(QResizeEvent*);
void paintEvent(QPaintEvent*);
QPoint oldPoint1,oldPoint2;
Display *display;
Window root, RootIDRet, ChildIDRet;
int sizeEye;
unsigned int StateMask;
};
kicker'EyesApplet::EyesApplet() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:33)
EyesApplet::EyesApplet( QWidget* parent, const char* name )
: KPanelApplet( parent, name )
{
display = kapp->getDisplay();
root = RootWindow(display,DefaultScreen(display));
startTimer(10);
}
kicker'EyesApplet::~EyesApplet() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:42)
EyesApplet::~EyesApplet() {}
kicker'EyesApplet::paintEvent() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:44)
void EyesApplet::paintEvent(QPaintEvent*)
{
oldPoint1 = QPoint(-1, -1 );
oldPoint2 = QPoint( -1, -1 );
timerEvent(0);
}
kicker'EyesApplet::timerEvent() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:51)
void EyesApplet::timerEvent(QTimerEvent*)
{
QPoint p,mouse,vect;
double cos_alpha,sin_alpha;
int WinX, WinY;
int XCoord,YCoord;
XQueryPointer (display, root, &RootIDRet, &ChildIDRet, &XCoord,&YCoord, &WinX, &WinY, &StateMask);
mouse = mapFromGlobal(QPoint(XCoord,YCoord));
int tmp=min(height(),width())/6;
//Left eye
vect.setX(mouse.x()-width()/4);
vect.setY(mouse.y()-height()/2);
cos_alpha=vect.x()/sqrt(vect.x()*vect.x()+vect.y()*vect.y());
sin_alpha=vect.y()/sqrt(vect.x()*vect.x()+vect.y()*vect.y());
if(vect.x()*vect.x() + vect.y()*vect.y() > (width()/4-tmp)*(width()/4-tmp)*
cos_alpha*cos_alpha+(height()/2-tmp)*(height()/2-tmp)*sin_alpha*sin_alpha)
{
p.setX((width()/4-tmp)*cos_alpha+width()/4);
p.setY((height()/2-tmp)*sin_alpha+height()/2);
}
else
p=mouse;
if( (p.x() != oldPoint1.x()) || (p.y() != oldPoint1.y())) {
QPainter paint(this);
paint.setPen(white);
paint.setBrush(white);
paint.drawEllipse(oldPoint1.x()-sizeEye/2,oldPoint1.y()-sizeEye/2,sizeEye,sizeEye);
paint.setPen(QPen(black));
paint.drawEllipse(0,0,width()/2,height());
paint.setBrush(QBrush(black));
sizeEye=min(height(),width())/6;
paint.drawEllipse(p.x()-sizeEye/2,p.y()-sizeEye/2,sizeEye,sizeEye);
oldPoint1 = p;
}
//Right eye
vect.setX(mouse.x()-3*width()/4);
vect.setY(mouse.y()-height()/2);
cos_alpha=vect.x()/sqrt(vect.x()*vect.x()+vect.y()*vect.y());
sin_alpha=vect.y()/sqrt(vect.x()*vect.x()+vect.y()*vect.y());
if(vect.x()*vect.x() + vect.y()*vect.y() > (width()/4-tmp)*(width()/4-tmp)
*cos_alpha*cos_alpha+(height()/2-tmp)*(height()/2-tmp)*sin_alpha*sin_alpha)
{
p.setX((width()/4-tmp)*cos_alpha+3*width()/4);
p.setY((height()/2-tmp)*sin_alpha+height()/2);
}
else
p=mouse;
if( (p.x() != oldPoint2.x()) || (p.y() != oldPoint2.y())) {
QPainter paint(this);
paint.setPen(white);
paint.setBrush(white);
paint.drawEllipse(oldPoint2.x()-sizeEye/2,oldPoint2.y()-sizeEye/2,sizeEye,sizeEye);
paint.setPen(QPen(black));
paint.drawEllipse(width()/2,0,width()/2,height());
paint.setBrush(QBrush(black));
sizeEye=min(height(),width())/6;
paint.drawEllipse(p.x()-sizeEye/2,p.y()-sizeEye/2,sizeEye,sizeEye);
oldPoint2 = p;
}
}
kicker'EyesApplet::widthForHeight() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:121)
int EyesApplet::widthForHeight(int h)
{
// I want to have a quadratic shape.
return h+10;
}
kicker'EyesApplet::heightForWidth() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:126)
int EyesApplet::heightForWidth(int w)
{
// I want to have a quadratic shape.
return w;
}
kicker'EyesApplet::resizeEvent() (./kdebase/kicker/externalapplets/eyes/eyes.cpp:132)
void EyesApplet::resizeEvent( QResizeEvent* )
{
sizeEye=min(height(),width())/6;
oldPoint1.setX(width()/4);
oldPoint1.setY(height()/2);
oldPoint2.setX(3*width()/4);
oldPoint2.setY(height()/2);
}