MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / generateKeyframeTextures

Method generateKeyframeTextures

Gui/DopeSheetView.cpp:784–833  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

782}
783
784void
785DopeSheetViewPrivate::generateKeyframeTextures()
786{
787 QImage kfTexturesImages[KF_TEXTURES_COUNT];
788
789 kfTexturesImages[0].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_constant.png") );
790 kfTexturesImages[1].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_constant_selected.png") );
791 kfTexturesImages[2].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_linear.png") );
792 kfTexturesImages[3].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_linear_selected.png") );
793 kfTexturesImages[4].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve.png") );
794 kfTexturesImages[5].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_selected.png") );
795 kfTexturesImages[6].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_break.png") );
796 kfTexturesImages[7].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_break_selected.png") );
797 kfTexturesImages[8].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_c.png") );
798 kfTexturesImages[9].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_c_selected.png") );
799 kfTexturesImages[10].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_h.png") );
800 kfTexturesImages[11].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_h_selected.png") );
801 kfTexturesImages[12].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_r.png") );
802 kfTexturesImages[13].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_r_selected.png") );
803 kfTexturesImages[14].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_z.png") );
804 kfTexturesImages[15].load( QString::fromUtf8(NATRON_IMAGES_PATH "interp_curve_z_selected.png") );
805 kfTexturesImages[16].load( QString::fromUtf8(NATRON_IMAGES_PATH "keyframe_node_root.png") );
806 kfTexturesImages[17].load( QString::fromUtf8(NATRON_IMAGES_PATH "keyframe_node_root_selected.png") );
807
808 glGenTextures(KF_TEXTURES_COUNT, kfTexturesIDs);
809
810 glEnable(GL_TEXTURE_2D);
811
812 for (int i = 0; i < KF_TEXTURES_COUNT; ++i) {
813 if (std::max( kfTexturesImages[i].width(), kfTexturesImages[i].height() ) != KF_PIXMAP_SIZE) {
814 kfTexturesImages[i] = kfTexturesImages[i].scaled(KF_PIXMAP_SIZE, KF_PIXMAP_SIZE, Qt::KeepAspectRatio, Qt::SmoothTransformation);
815 }
816
817#if QT_VERSION < QT_VERSION_CHECK(5, 4, 0)
818 kfTexturesImages[i] = QOpenGLWidget::convertToGLFormat(kfTexturesImages[i]);
819#endif
820 glBindTexture(GL_TEXTURE_2D, kfTexturesIDs[i]);
821
822 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
823 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
824
825 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
826 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
827
828 glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, KF_PIXMAP_SIZE, KF_PIXMAP_SIZE, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, kfTexturesImages[i].bits() );
829 }
830
831 glBindTexture(GL_TEXTURE_2D, 0);
832 glDisable(GL_TEXTURE_2D);
833}
834
835DopeSheetViewPrivate::KeyframeTexture
836DopeSheetViewPrivate::kfTextureFromKeyframeType(KeyframeTypeEnum kfType,

Callers 1

initializeGLMethod · 0.80

Calls 4

maxFunction · 0.85
loadMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected