CARVIEW |
Select Language
HTTP/2 200
date: Thu, 24 Jul 2025 17:20:46 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"b9d3987d9c33938511bec54f87d86fc1"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=yqoayzblmHZAC%2FznSw0qvmFDUNZIBXdoR7AIxoOv0dkjrpbMTPq0e5%2BbvD2LdtShXXI%2B1mOpxppRMJh0G4WuVEHvGeqUVBip3S7MztJZ2ceK4HAxkLAZ403lRnNzC%2FaSnqDNw01B9cUcAWfi2mQ5jorAeduiCSGKZWI%2BHoE6k4VbSUqB5SvEn6ISRyckEaNxJE5Rd1II6jPjq%2FhE3XXvYBq1i6%2B%2FqKv%2F9gPwUVDIO%2BFqXrOFuoszToqdvSWg5U5DzYSY5Hm2s3SqITuXQqPUAA%3D%3D--i6PwMinQ7Si4%2Fg8Y--uomQfMZXfkwRO1U8jxs%2BYg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.994430788.1753377646; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 17:20:46 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 17:20:46 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D74E:54F0F:76145:8C180:68826B6E
Home · Half-People/HImGuiAnimation Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Half People edited this page Apr 14, 2024
·
12 revisions
Overall, all you need to focus on writing is the CallBack function :)
Only two main functions need to be used in this library
HAnimationSystem::Play
HAnimationSystem::updata
This function has communicated with the bottom layer and will automatically dispatch the queue for you (repeated triggering will ignore your trigger when playback is not completed. Of course, if you want, you can stop playback manually)
//callback (Animation overprocessed.See AnimationPlayerCallBack comments for details)
//MaxFrame (The largest Frame among animations)
//value (The value transferred to the callback)
//out (Animation sequence returns)
//speed (Play speed)
//FPS (Max FPS : Lift (-1) )
//IsLoop (keep looping)
HAnimationSystem::Play(PlayerCallBack::AnimationPlayerCallBack callback, size_t MaxFrame, HValue value = nullptr, HAnimationSystem::AnimationSequence** out = 0, float speed = 5, int FPS = 60, bool IsLoop = false)
//Animation Manager Update (used in main loop)
//delta_time (Please use ImGui to obtain ImGui::GetIO().DeltaTime)
void updata(float delta_time);
//- Animation Manager Update (used in main loop)(Manager FPS limit, Animation sequences will be disabled FPS limit)
//- Recommended Use : void updata(float delta_time);
void updata(float delta_time, int MaxFPS);
This one is the function callback for HAnimationSystem::Play
//example : function callback
void Sequencer(int32_t Frame, HAnimationSystem::HValue value)
{
const std::vector<int> keys = { 0 , 30 , 64 };
const std::vector<float> values = { 80,200,80 };
HAnimationSystem::PlayerCallBack::HInterpolationInfo info = HAnimationSystem::PlayerCallBack::GetInterpolationInfoFromKeys(keys, Frame);
HAnimationSystem::HValue_Get<float>(value) = HAnimationSystem::PlayerCallBack::LinearInterpolation(values[info.PreviousKey], values[info.LastOneKey], info.alpha);//There are many plug-in tools in `HAnimationSystem::PlayerCallBack`. Of course, you can write your own
}
...
static float value;
static HAnimationSystem::AnimationSequence* Sequence; //Introduction to waiting array
HAnimationSystem::Play(Sequencer, ...,&value,&Sequence);
//example : lambda
HAnimationSystem::Play([](int32_t Frame, HAnimationSystem::HValue value)
{
const std::vector<int> keys = { 0 , 30 , 64 };
const std::vector<float> values = { 80,200,80 };
HAnimationSystem::PlayerCallBack::HInterpolationInfo info = HAnimationSystem::PlayerCallBack::GetInterpolationInfoFromKeys(keys, Frame);
HAnimationSystem::HValue_Get<float>(value) = HAnimationSystem::PlayerCallBack::LinearInterpolation(values[info.PreviousKey], values[info.LastOneKey], info.alpha);//There are many plug-in tools in `HAnimationSystem::PlayerCallBack`. Of course, you can write your own
}, ...);
You can use the function HAnimationSystem::AnimationSequence::getinfo()
to read and write
Essentially the code is just
T& HValue_Get(HValue value)
{
return *static_cast<T*>(value);
}
Clone this wiki locally
You can’t perform that action at this time.