GUI: new osc renderer, part 21
part 11? I must have been drunk alternate approach for OpenGL ES (no more hangs)
This commit is contained in:
parent
89249d4a2b
commit
cfee9b3810
6 changed files with 82 additions and 40 deletions
|
|
@ -182,16 +182,30 @@ void FurnaceGUI::drawChanOsc() {
|
|||
ImGui::TableNextColumn();
|
||||
if (ImGui::Checkbox("Randomize phase on note",&chanOscRandomPhase)) {
|
||||
}
|
||||
ImGui::EndTable();
|
||||
}
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Amplitude");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
if (CWSliderFloat("##COSAmp",&chanOscAmplify,0.0f,2.0f)) {
|
||||
if (chanOscAmplify<0.0f) chanOscAmplify=0.0f;
|
||||
if (chanOscAmplify>2.0f) chanOscAmplify=2.0f;
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Amplitude");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
if (CWSliderFloat("##COSAmp",&chanOscAmplify,0.0f,2.0f)) {
|
||||
if (chanOscAmplify<0.0f) chanOscAmplify=0.0f;
|
||||
if (chanOscAmplify>2.0f) chanOscAmplify=2.0f;
|
||||
}
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Line size");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
if (CWSliderFloat("##COSLine",&chanOscLineSize,0.25f,16.0f)) {
|
||||
if (chanOscLineSize<0.25f) chanOscLineSize=0.26f;
|
||||
if (chanOscLineSize>16.0f) chanOscLineSize=16.0f;
|
||||
}
|
||||
|
||||
|
||||
ImGui::EndTable();
|
||||
}
|
||||
|
||||
ImGui::Checkbox("Gradient",&chanOscUseGrad);
|
||||
|
|
@ -706,6 +720,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
fft->drawOp.pos0=inRect.Min;
|
||||
fft->drawOp.pos1=inRect.Max;
|
||||
fft->drawOp.color=ImGui::ColorConvertU32ToFloat4(color);
|
||||
fft->drawOp.lineSize=dpiScale*chanOscLineSize;
|
||||
|
||||
dl->AddCallback(_drawOsc,&fft->drawOp);
|
||||
dl->AddCallback(ImDrawCallback_ResetRenderState,NULL);
|
||||
|
|
@ -713,7 +728,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
//ImGui::PushClipRect(inRect.Min,inRect.Max,false);
|
||||
//ImDrawListFlags prevFlags=dl->Flags;
|
||||
//dl->Flags&=~(ImDrawListFlags_AntiAliasedLines|ImDrawListFlags_AntiAliasedLinesUseTex);
|
||||
dl->AddPolyline(waveform,precision,color,ImDrawFlags_None,dpiScale);
|
||||
dl->AddPolyline(waveform,precision,color,ImDrawFlags_None,dpiScale*chanOscLineSize);
|
||||
//dl->Flags=prevFlags;
|
||||
//ImGui::PopClipRect();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue