Example #1
0
// back-end, now that a wrapper is provided for the front-end code to do the actual scrolling
void
MemoContentUpdated ()
{
    int caretPos;

    if(lastCurrent <= currLast) DoHighlight( lastCurrent, FALSE );

    lastFirst = currFirst;
    lastLast = currLast;
    lastCurrent = currCurrent;
    lastGames = storedGames;
    lastLastMove[0] = '\0';

    if( lastLast > 0 ) {
      safeStrCpy( lastLastMove, SavePart( currMovelist[lastLast-1] ) , sizeof( lastLastMove)/sizeof( lastLastMove[0]) );
    }

    /* Deselect any text, move caret to end of memo */
    if( currCurrent >= 0 ) {
        caretPos = histMoves[currCurrent].memoOffset + histMoves[currCurrent].memoLength;
    }
    else {
        caretPos = -1;
    }

    ScrollToCurrent(caretPos);
    DoHighlight( currCurrent, TRUE ); // [HGM] moved last, because in X some scrolling methods spoil highlighting
}
Example #2
0
// back-end, now that color and font-style are passed as numbers
static void
AppendMoveToMemo (int index)
{
    char buf[64];

    if( index < 0 || index >= MAX_MOVES ) {
        return;
    }

    buf[0] = '\0';

    /* Move number */
    if( (index % 2) == 0 ) {
        sprintf( buf, "%d.%s ", (index / 2)+1, index & 1 ? ".." : "" );
        AppendToHistoryMemo( buf, 1, 0 ); // [HGM] 1 means bold, 0 default color
    }

    /* Move text */
    safeStrCpy( buf, SavePart( currMovelist[index]) , sizeof( buf)/sizeof( buf[0]) );
    strcat( buf, " " );

    histMoves[index].memoOffset = AppendToHistoryMemo( buf, 0, 0 );
    histMoves[index].memoLength = strlen(buf)-1;

    /* PV info (if any) */
    if( appData.showEvalInMoveHistory && currPvInfo[index].depth > 0 ) {
        sprintf( buf, "{%s%.2f/%d} ",
            currPvInfo[index].score >= 0 ? "+" : "",
            currPvInfo[index].score / 100.0,
            currPvInfo[index].depth );

        AppendToHistoryMemo( buf, 0, 1); // [HGM] 1 means gray
    }
}
Example #3
0
// back-end, now that a wrapper is provided for the front-end code to do the actual scrolling
void MemoContentUpdated()
{
    int caretPos;

    DoHighlight( lastCurrent, FALSE );
    DoHighlight( currCurrent, TRUE );

    lastFirst = currFirst;
    lastLast = currLast;
    lastCurrent = currCurrent;
    lastLastMove[0] = '\0';

    if( lastLast > 0 ) {
      safeStrCpy( lastLastMove, SavePart( currMovelist[lastLast-1] ) , sizeof( lastLastMove)/sizeof( lastLastMove[0]) );
    }

    /* Deselect any text, move caret to end of memo */
    if( currCurrent >= 0 ) {
        caretPos = histMoves[currCurrent].memoOffset + histMoves[currCurrent].memoLength;
    }
    else {
        caretPos = -1;
    }

    ScrollToCurrent(caretPos);
}
Example #4
0
/*
bool	CDemux::Init(CTSFile 	* src , CESDBServer   *cli)
{

	assert(src && cli);
	SourceTS = src;
	ClientAgent = cli;
	return true;
}
*/
UINT CDemux::MainLoop()
{
    //UINT ret = 0;
    MessageToUI(MSG_UI_DEMUX_THREAD_CREATE_SUCCESS);

    while(GetMessage(&msg,   NULL,   0,   0))
    {
        MessageToUI(MSG_UI_CURRENT_ACTION_PROCESS,0);
        //WaitForSingleObject(m_event->m_hObject, INFINITE);//return WAIT_TIMEOUT or WAIT_OBJECT_0
        switch(msg.message)
        {
        case MSG_DMX_ADD_DEMUX_FILTER:
        {
            RunDemux();
        }
        break;
        case MSG_DMX_ADD_REMUX_FILTER:
        {
            RunRemux();
        }
        break;
        case MSG_DMX_SAVE_PART_TO_FILE:
        {
            SavePart((u32)msg.wParam);
        }
        break;
        default:
            assert(0);
            break;
            //m_event->ResetEvent();
        }
        MessageToUI(MSG_UI_CURRENT_ACTION_PROCESS,100);
    }
    return 0;
}
Example #5
0
	void Puppet::SavePart(TiXmlElement *parentElement, Part *part)
	{
		printf("saving part [%s]\n", part->GetName().c_str());

		TiXmlElement xmlPart("Part");
		XMLFileNode xmlFileNode(&xmlPart);

		if (part)
		{
			part->Save(&xmlFileNode);
		}

		for (std::list<Part*>::iterator i = part->parts.begin(); i != part->parts.end(); ++i)
		{
			Part *iterPart = (*i);
			if (iterPart)
			{
				printf ("   calling save on subpart [%s]\n", iterPart->GetName().c_str());

				SavePart(&xmlPart, iterPart);
			}
		}
		parentElement->InsertEndChild(xmlPart);
	}
Example #6
0
	void Puppet::Save()
	{
		if (entity)
		{
			// save to filename
			TiXmlDocument xmlDoc;

			/// TextureAtlas
			if (textureAtlas)
			{
				textureAtlas->Save(&xmlDoc);
			}

			/// Parts
			//TiXmlElement *xmlParts = xmlDoc.FirstChildElement("Parts");
			TiXmlElement xmlParts("Parts");
			for (std::list<Part*>::iterator i = parts.begin(); i != parts.end(); ++i)
			{
				if ((*i)->GetParent() == entity)
				{
					printf("calling SaveParts... top level...\n");
					SavePart(&xmlParts, (*i));
				}
			}
			xmlDoc.InsertEndChild(xmlParts);


			/// Animations
			TiXmlElement xmlAnimations("Animations");
			{
				/// Animation
				for (std::list<Animation>::iterator i = animations.begin(); i != animations.end(); ++i)
				{
					TiXmlElement xmlAnimation("Animation");

					Animation *animation = &(*i);
                
					XMLFileNode xmlFileNodeKeyFrameAnim(&xmlAnimation);
					animation->Save(&xmlFileNodeKeyFrameAnim);

					/// PartKeyFrames
					for (std::list<Part*>::iterator j = parts.begin(); j != parts.end(); ++j)
					{
						PartKeyFrames *partKeyFrames = animation->GetPartKeyFrames(*j);
						if (partKeyFrames)
						{
							TiXmlElement xmlPartKeyFrames("PartKeyFrames");
							XMLFileNode xmlFileNodePartKeyFrames(&xmlPartKeyFrames);

							partKeyFrames->Save(&xmlFileNodePartKeyFrames);

							/// KeyFrame
					
							std::list<KeyFrame> *keyFrames = partKeyFrames->GetKeyFrames();
							for (std::list<KeyFrame>::iterator k = keyFrames->begin(); k != keyFrames->end(); ++k)
							{
								KeyFrame *keyFrame = &(*k);

								TiXmlElement xmlKeyFrame("KeyFrame");
								XMLFileNode xmlFileNodeKeyFrame(&xmlKeyFrame);

								keyFrame->Save(&xmlFileNodeKeyFrame);

								xmlPartKeyFrames.InsertEndChild(xmlKeyFrame);
							}

							xmlAnimation.InsertEndChild(xmlPartKeyFrames);
						}
					}

					xmlAnimations.InsertEndChild(xmlAnimation);
				}
			}
			xmlDoc.InsertEndChild(xmlAnimations);

			xmlDoc.SaveFile(Assets::GetContentPath() + filename);
		}
	}