コード例 #1
0
ファイル: kptool.cpp プロジェクト: serghei/kde3-kdegraphics
// also called by kpView
void kpTool::cancelShapeInternal ()
{
    if (hasBegunShape ())
    {
        m_beganDraw = false;
        cancelShape ();
        m_viewUnderStartPoint = 0;

        emit cancelledShape (viewUnderCursor () ? m_currentPoint : KP_INVALID_POINT);

        if (viewUnderCursor ())
            hover (m_currentPoint);
        else
        {
            m_currentPoint = KP_INVALID_POINT;
            m_currentViewPoint = KP_INVALID_POINT;
            hover (m_currentPoint);
        }

        if (returnToPreviousToolAfterEndDraw ())
        {
            kpToolToolBar *tb = mainWindow ()->toolToolBar ();
            
            // (don't end up with no tool selected)
            if (tb->previousTool ())
            {
                // endInternal() will be called by kpMainWindow (thanks to this line)
                // so we won't have the view anymore
                tb->selectPreviousTool ();
            }
        }
    }
}
コード例 #2
0
ファイル: Buttons.cpp プロジェクト: COJIDAT/vcmi-ios
void CToggleButton::clickLeft(tribool down, bool previousState)
{
	// force refresh
	hover(false);
	hover(true);

	if(isBlocked())
		return;

	if (down && canActivate())
	{
		CCS->soundh->playSound(soundBase::button);
		setState(PRESSED);
	}

	if(previousState)//mouse up
	{
		if(down == false && getState() == PRESSED && canActivate())
		{
			onButtonClicked();
			setSelected(!selected);
		}
		else
			doSelect(selected); // restore
	}
}
コード例 #3
0
ファイル: jouer.c プロジェクト: suchiz/SDL_Project
void hover_jouer (SDL_Surface *ecran, SDL_Event event)
{
	
	if(event.button.x >=38 && event.button.x<=204 && event.button.y >= 100 && event.button.y <=135)
		hover(ecran,historique,fontSousMenu,"Historique",fontOrange,posHistorique);
	else if(event.button.x >=21 && event.button.x<=228 && event.button.y >= 200 && event.button.y <=235)	
		hover(ecran,sauvegarder,fontSousMenu,"Sauvegarder",fontOrange,posSauvegarder);	
	else if(event.button.x >=51 && event.button.x<=164 && event.button.y >= 300 && event.button.y <=327)	
		hover(ecran,retour,fontSousMenu,"Retour",fontOrange,posRetour2);
	else if(event.button.x >=47 && event.button.x<=162 && event.button.y >= 400 && event.button.y <=432)
		hover(ecran,texte_Quitter,fontSousMenu,"Quitter",fontOrange,posQuitter2);
	else if(event.button.x >=601 && event.button.x<=678 && event.button.y >= 501 && event.button.y <=519)
	{
		//hover(ecran,valider,fontSousMenu2,"valider",fontOrange,posValider);
	}else if(event.button.x >=401 && event.button.x<=455 && event.button.y >= 501 && event.button.y <=521)
		hover(ecran,undo,fontSousMenu2,"undo",fontOrange,posUndo);
	else
	{								
		hover(ecran,historique,fontSousMenu,"Historique",fontBlack,posHistorique);
		hover(ecran,sauvegarder,fontSousMenu,"Sauvegarder",fontBlack,posSauvegarder);
		hover(ecran,retour,fontSousMenu,"Retour",fontBlack,posRetour2);
		hover(ecran,texte_Quitter,fontSousMenu,"Quitter",fontBlack,posQuitter2);
		//hover(ecran,valider,fontSousMenu2,"valider",fontBlack,posValider);
		hover(ecran,undo,fontSousMenu2,"undo",fontBlack,posUndo);
	}
}
コード例 #4
0
ファイル: masterI2Ccom.cpp プロジェクト: Colyette/P15230
/**
 * \brief from the provided next point, will rotate and fly forward to
 * that point
 * \param navPoint the targeted node to move to
 */
int MasterI2Ccom::navToPoint(Node* navPoint){
    //TODO MAYBE CHECK FOR OBJECT UPDATES HERE...
    if (navPoint == cur_pos->getNeighbor(UP)) { //up neighbor is next
        printf("Turning Forward\n");
        //rotate up, but are we up?
        rotate(upHeading);
        //set cur heading-ish enum
        xHeading=UPH;
        //go forward
        printf("Going forward %dm\n",RESOLUTION);
        forward(RESOLUTION);
        printf("hover\n");
        hover();
    }
    else if (navPoint == cur_pos->getNeighbor(DOWN)){
        printf("Turning Down\n");
        //rotate back
        rotate(downHeading);
        //set cur heading-ish enum
        xHeading=DOWNH;
        //go forward
        printf("Going forward %dm\n",RESOLUTION);
        forward(RESOLUTION);
        printf("hover\n");
        hover();
    }
    else if (navPoint == cur_pos->getNeighbor(LEFT)) {
        printf("Turning left\n");
        //rotate left
        rotate(leftHeading);
        //set cur heading-ish enum
        xHeading=LEFTH;
        //go forward
         printf("Going forward %dm\n",RESOLUTION);
        forward(RESOLUTION);
        printf("hover\n");
        hover();
    }
    else if (navPoint == cur_pos->getNeighbor(RIGHT)) {
        printf("Turning right\n");
        //rotate right
        rotate(rightHeading);
        //set cur heading-ish enum
        xHeading=RIGHTH;
        //go forward
        printf("Going forward %dm\n",RESOLUTION);
        forward(RESOLUTION);
        printf("hover\n");
        hover();
        
    }
    else{
        printf("MasterI2Ccom::navToPoint: error finding direction of next point\n");
    }
    
    
}
コード例 #5
0
ファイル: kptool.cpp プロジェクト: serghei/kde3-kdegraphics
void kpTool::endDrawInternal (const QPoint &thisPoint, const QRect &normalizedRect,
                              bool wantEndShape)
{
#if DEBUG_KP_TOOL && 1
    kdDebug () << "kpTool::endDrawInternal() wantEndShape=" << wantEndShape << endl;
#endif

    if (wantEndShape && !hasBegunShape ())
        return;
    else if (!wantEndShape && !hasBegunDraw ())
        return;

    m_beganDraw = false;

    if (wantEndShape)
    {
    #if DEBUG_KP_TOOL && 0
        kdDebug () << "\tcalling endShape()" << endl;
    #endif
        endShape (thisPoint, normalizedRect);
    }
    else
    {
    #if DEBUG_KP_TOOL && 0
        kdDebug () << "\tcalling endDraw()" << endl;
    #endif
        endDraw (thisPoint, normalizedRect);
    }
    m_viewUnderStartPoint = 0;

    emit endedDraw (m_currentPoint);
    if (viewUnderCursor ())
        hover (m_currentPoint);
    else
    {
        m_currentPoint = KP_INVALID_POINT;
        m_currentViewPoint = KP_INVALID_POINT;
        hover (m_currentPoint);
    }

    if (returnToPreviousToolAfterEndDraw ())
    {
        kpToolToolBar *tb = mainWindow ()->toolToolBar ();
        
        // (don't end up with no tool selected)
        if (tb->previousTool ())
        {
            // endInternal() will be called by kpMainWindow (thanks to this line)
            // so we won't have the view anymore
            tb->selectPreviousTool ();
        }
    }
}
コード例 #6
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void fireAttackPause()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		self->action = &fireAttack;

		switch (self->maxThinkTime)
		{
			case 1:
				self->mental = 5;
			break;

			case 2:
				self->mental = 3;
			break;

			default:
				self->mental = 3;
			break;
		}
	}

	checkToMap(self);

	hover();
}
コード例 #7
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void greenCreditsMove()
{
	self->thinkTime++;

	setEntityAnimation(self, "STAND");

	self->dirX = self->speed;

	checkToMap(self);

	if (self->dirX == 0)
	{
		self->inUse = FALSE;
	}

	hover();

	if (self->thinkTime == 300)
	{
		self->thinkTime = 60;

		self->creditsAction = &creditsSummon;

		self->mental = 0;
	}
}
コード例 #8
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void physicalAttackInit()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		if (self->maxThinkTime == 1)
		{
			self->endX = 3;

			self->face = RIGHT;

			self->action = &summon;
		}

		else if (self->maxThinkTime == 2)
		{
			self->endX = 3;

			self->mental = 0;

			self->action = &followPlayer;
		}

		else if (self->maxThinkTime == 3)
		{
			self->endX = 1;

			self->action = &summon2;
		}
	}

	hover();
}
コード例 #9
0
ファイル: kptool.cpp プロジェクト: serghei/kde3-kdegraphics
// private
// TODO: don't dup code from mouseMoveEvent()
void kpTool::somethingBelowTheCursorChanged (const QPoint &currentPoint_,
        const QPoint &currentViewPoint_)
{
#if DEBUG_KP_TOOL && 0
    kdDebug () << "kpTool::somethingBelowTheCursorChanged(docPoint="
               << currentPoint_
               << " viewPoint="
               << currentViewPoint_
               << ")" << endl;
    kdDebug () << "\tviewUnderStartPoint="
               << (viewUnderStartPoint () ? viewUnderStartPoint ()->name () : "(none)")
               << " viewUnderCursor="
               << (viewUnderCursor () ? viewUnderCursor ()->name () : "(none)")
               << endl;
    kdDebug () << "\tbegan draw=" << m_beganDraw << endl;
#endif

    m_currentPoint = currentPoint_;
    m_currentViewPoint = currentViewPoint_;

    if (m_beganDraw)
    {
        if (m_currentPoint != KP_INVALID_POINT)
        {
            draw (m_currentPoint, m_lastPoint, QRect (m_startPoint, m_currentPoint).normalize ());
            m_lastPoint = m_currentPoint;
        }
    }
    else
    {
        hover (m_currentPoint);
    }
}
コード例 #10
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void castIceInit()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		if (self->maxThinkTime == 1)
		{
			self->endX = 5 + prand() % 6;

			self->action = &castIce;
		}

		else if (self->maxThinkTime == 2)
		{
			self->endX = 3 + prand() % 4;

			self->action = &createIceWall;
		}

		else
		{
			self->endX = 5 + prand() % 6;

			self->action = &createIceBlock;
		}
	}

	hover();
}
コード例 #11
0
void JavascriptInvocation::leftClick(int x, int y) {
  QPoint mousePos(x, y);

  hover(mousePos);
  JavascriptInvocation::mouseEvent(QEvent::MouseButtonPress, mousePos, Qt::LeftButton);
  JavascriptInvocation::mouseEvent(QEvent::MouseButtonRelease, mousePos, Qt::LeftButton);
}
コード例 #12
0
ファイル: ghost.c プロジェクト: polluks/edgar
static void moveToSkeleton()
{
	if (fabs(self->targetX - self->x) <= fabs(self->dirX))
	{
		self->dirX = 0;

		self->thinkTime = 30;

		self->action = &resurrect;

		self->creditsAction = &resurrect;
	}

	else
	{
		self->thinkTime--;

		if (self->thinkTime <= 0)
		{
			self->dirX = 0;

			self->x = self->targetX;

			self->action = &resurrect;

			self->creditsAction = &resurrect;
		}
	}

	checkToMap(self);

	hover();
}
コード例 #13
0
ファイル: Button.cpp プロジェクト: ekner/ggui
bool Button::update()
{
    int x      = sfRect.getPosition().x;
    int y      = sfRect.getPosition().y;
    int width  = sfRect.getSize().x;
    int height = sfRect.getSize().y;

    if (hover(x, y, x + width, y + height, renderWindow))
    {
        hovering = true;
        if (click() && clickCallback)
        {
            clickFunction();
        }
        if (!wasHovering)
        {
            wasHovering = true;
            draw();
            return false;
        }
    }
    else
    {
        hovering = false;
        if (wasHovering)
        {
            wasHovering = false;
            draw();
            return false;
        }
    }
}
コード例 #14
0
static void summonEnd()
{
	setEntityAnimation(self, "STAND");

	if (self->thinkTime > 0)
	{
		self->thinkTime--;
	}

	else
	{
		if (prand() % 3 == 0)
		{
			self->action = &teleportAway;
		}

		else
		{
			self->action = &lookForPlayer;

			self->mental = 0;
		}

		self->dirX = self->face == LEFT ? -self->speed : self->speed;

		self->thinkTime = 600;
	}

	hover();
}
コード例 #15
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void finalAttackInit()
{
	Target *t;

	t = getTargetByName("SORCEROR_MID_TARGET");

	if (t == NULL)
	{
		showErrorAndExit("Sorceror cannot find target");
	}

	addParticleExplosion(self->x + self->w / 2, self->y + self->h / 2);

	self->x = t->x;
	self->y = t->y;

	playSoundToMap("sound/common/spell", -1, self->x, self->y, 0);

	self->flags |= NO_DRAW;

	self->thinkTime = 30;

	self->action = &finalAttack;

	self->mental = 0;

	hover();
}
コード例 #16
0
void WindowPreview::paintEvent(QPaintEvent *event) {
	Q_UNUSED(event)
	QPainter painter(this);

	// draw background (only when previews are used)
	if (m_previewSpace) {
		QPixmap  backgroundPixmap;
		qreal    normalLeft = 0, normalTop = 0, normalRight = 0, normalBottom = 0;

		// caching of the pixmap is done by the class FrameSvg
		m_background->setElementPrefix(NORMAL);
		m_background->getMargins(normalLeft, normalTop, normalRight, normalBottom);

		if (m_highlite.atBottom()) {
			backgroundPixmap = m_background->framePixmap();
		}
		else if (m_highlite.atTop()) {
			m_background->setElementPrefix(HOVER);
			backgroundPixmap = m_background->framePixmap();
		}
		else {
			QPixmap normal(m_background->framePixmap());
	
			m_background->setElementPrefix(HOVER);
			QPixmap hover(m_background->framePixmap());
				
			backgroundPixmap = Plasma::PaintUtils::transition(normal, hover, m_highlite.value());
		}
		QRect  spaceGeom(m_previewSpace->geometry());
		QPoint backgroundPos(
			spaceGeom.left() + (spaceGeom.width()  - m_previewSize.width())  / 2 - normalLeft,
			spaceGeom.top()  + (spaceGeom.height() - m_previewSize.height()) / 2 - normalTop);

		painter.drawPixmap(backgroundPos, backgroundPixmap);
		
		// draw icon as fake preview for startup items
		if (m_task->type() == Task::StartupItem) {
			painter.drawPixmap(previewRect(0, 0), m_task->icon().pixmap(BIG_ICON_SIZE));
		}
	}
	
	// draw icon
	QPixmap  iconPixmap;
	QRect    iconGeom(m_iconSpace->geometry());
	QPointF  iconPos(
		iconGeom.left() + (iconGeom.width()  - m_icon.width())  * 0.5,
		iconGeom.top()  + (iconGeom.height() - m_icon.height()) * 0.5);

	if (m_highlite.atBottom()) {
		iconPixmap = m_icon;
	}
	else if (m_highlite.atTop()) {
		iconPixmap = hoverIcon();
	}
	else {
		iconPixmap = Plasma::PaintUtils::transition(m_icon, hoverIcon(), m_highlite.value());
	}
	painter.drawPixmap(iconPos, iconPixmap);
}
コード例 #17
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void statueAttack()
{
	Entity *e;

	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		e = addEnemy("enemy/flame_statue", 0, 0);

		e->health = 5;

		e->layer = BACKGROUND_LAYER;

		e->x = player.x + player.w / 2 - e->w / 2;

		e->x -= player.w * 2;

		e->mental = 0;

		e->y = getMapFloor(self->x + self->w / 2, self->y);

		e->targetY = e->y - e->h;

		e->action = &statueRise;

		e->touch = NULL;

		e->thinkTime = 240;

		e = addEnemy("enemy/flame_statue", 0, 0);

		e->health = 5;

		e->layer = BACKGROUND_LAYER;

		e->x = player.x + player.w / 2 - e->w / 2;

		e->x += player.w * 2;

		e->mental = 1;

		e->y = getMapFloor(self->x + self->w / 2, self->y);

		e->targetY = e->y - e->h;

		e->action = &statueRise;

		e->touch = NULL;

		e->thinkTime = 240;

		self->thinkTime = 600;

		self->action = &statueRiseWait;
	}

	hover();
}
コード例 #18
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void createThunderCloudFinish()
{
	facePlayer();

	checkToMap(self);

	hover();
}
コード例 #19
0
void mainMenu::displayGameOver() {
	ofBackground(92,1,106);
	ofSetColor(0);
	ofFill();
	ofRect(100,90,400,220);
	drawEdges();
	hover();
}
コード例 #20
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void callSummonersWait()
{
	if (self->startY == 3)
	{
		self->action = &attackFinished;
	}

	hover();
}
コード例 #21
0
ファイル: mouse.cpp プロジェクト: huihui891/opencv-mouse
		void click(cv::Point p){
			hover(p);
			holding = !holding;
			if (holding){
				p1 = p;
			} else {
				p2 = p;
			}
		}
コード例 #22
0
ファイル: large_book.c プロジェクト: LibreGames/edgar
static void creditsSummon()
{
	Entity *e;

	self->dirX = 0;

	hover();

	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		switch (self->mental)
		{
			case 0:
				e = addBook(self->x, self->y, "enemy/green_book");
			break;

			case 1:
				e = addBook(self->x, self->y, "enemy/yellow_book");
			break;

			case 2:
				e = addBook(self->x, self->y, "enemy/red_book");
			break;

			default:
				e = addBook(self->x, self->y, "enemy/blue_book");

				self->creditsAction = &creditsMove;
			break;
		}

		e->x = self->x + self->w / 2;
		e->y = self->y + self->h / 2;

		e->x -= e->w / 2;
		e->y -= e->h / 2;

		e->targetY = e->y + (prand() % 16) * (prand() % 2 == 0 ? -1 : 1);
		e->targetX = e->x - SCREEN_WIDTH / 2 + (prand() % 16) * (prand() % 2 == 0 ? -1 : 1);

		e->startY = e->targetY;

		calculatePath(e->x, e->y, e->targetX, e->targetY, &e->dirX, &e->dirY);

		e->flags |= (NO_DRAW|HELPLESS|TELEPORTING|NO_END_TELEPORT_SOUND);

		playSoundToMap("sound/common/spell", -1, self->x, self->y, 0);

		e->face = RIGHT;

		self->mental++;

		self->thinkTime = 30;
	}
}
コード例 #23
0
static void lookForPlayer()
{
	float dirX;

	self->thinkTime--;

	if (self->dirX == 0)
	{
		self->dirX = self->face == LEFT ? self->speed : -self->speed;
	}

	self->face = self->dirX > 0 ? RIGHT : LEFT;

	dirX = self->dirX;

	checkToMap(self);

	if (self->dirX == 0 && dirX != 0)
	{
		self->dirX = self->face == LEFT ? self->speed : -self->speed;

		self->face = self->face == LEFT ? RIGHT : LEFT;
	}

	if (self->thinkTime <= 0 && player.health > 0 && prand() % 30 == 0)
	{
		self->thinkTime = 0;

		if (collision(self->x + (self->face == RIGHT ? self->w : -160), self->y, 160, 200, player.x, player.y, player.w, player.h) == 1)
		{
			self->mental = 1;

			self->action = &castWait;

			setEntityAnimation(self, "ATTACK_1");

			switch (self->maxThinkTime)
			{
				case 2:
					self->animationCallback = &castIce;
				break;

				case 1:
					self->animationCallback = &castFireInit;
				break;

				default:
					self->animationCallback = &castLightningBolt;
				break;
			}

			self->dirX = 0;
		}
	}

	hover();
}
コード例 #24
0
ファイル: Menu.cpp プロジェクト: d1m1tur/Blank
void Menu::button::render(SDL_Renderer* Rend , int x_, int y_)
{
    hover();

    rect.x = x_;
    rect.y = y_;

    SDL_RenderCopy(Rend, image, NULL, &rect);
}
コード例 #25
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void createShieldInit()
{
	self->thinkTime = 60;

	self->action = &createShield;

	self->mental = 0;

	hover();
}
コード例 #26
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void callSummonersInit()
{
	self->mental = 3;

	self->thinkTime = 60;

	self->action = &callSummoners;

	hover();
}
コード例 #27
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void statueAttackInit()
{
	setEntityAnimation(self, "ATTACK_1");

	self->thinkTime = 15;

	self->action = &statueAttack;

	hover();
}
コード例 #28
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void statueRiseWait()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		self->action = &attackFinished;
	}

	hover();
}
コード例 #29
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void createShieldFinish()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		self->action = &attackFinished;
	}

	hover();
}
コード例 #30
0
ファイル: sorceror_2.c プロジェクト: revcozmo/edgar
static void plasmaAttackFinish()
{
	self->thinkTime--;

	if (self->thinkTime <= 0)
	{
		self->action = &attackFinished;
	}

	hover();
}