mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-11-04 00:52:11 +00:00 
			
		
		
		
	Texture quality is actually working. (And also quite useful for high-dpi screens).
This commit is contained in:
		@@ -143,7 +143,7 @@ Item{
 | 
			
		||||
    function handleFontChanged(){
 | 
			
		||||
        if(!fontManager.item) return;
 | 
			
		||||
        fontManager.item.selectedFontIndex = fontIndexes[rasterization];
 | 
			
		||||
        fontManager.item.scaling = fontScaling;
 | 
			
		||||
        fontManager.item.scaling = fontScaling * window_scaling;
 | 
			
		||||
 | 
			
		||||
        var fontSource = fontManager.item.source;
 | 
			
		||||
        var pixelSize = fontManager.item.pixelSize;
 | 
			
		||||
 
 | 
			
		||||
@@ -160,7 +160,9 @@ Item{
 | 
			
		||||
    }
 | 
			
		||||
    MouseArea{
 | 
			
		||||
        acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
 | 
			
		||||
        anchors.fill: parent
 | 
			
		||||
        // This is incredibly ugly. All this file should be reorganized.
 | 
			
		||||
        width: (parent.width + dleft + dright) / shadersettings.window_scaling - dleft -dright
 | 
			
		||||
        height: (parent.height + dtop + dbottom) / shadersettings.window_scaling - dtop - dbottom
 | 
			
		||||
        onWheel:{
 | 
			
		||||
            if(wheel.modifiers & Qt.ControlModifier){
 | 
			
		||||
               wheel.angleDelta.y > 0 ? zoomIn.trigger() : zoomOut.trigger();
 | 
			
		||||
@@ -313,7 +315,7 @@ Item{
 | 
			
		||||
    //  BLOOM  ////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
    Loader{
 | 
			
		||||
        property real scaling: shadersettings.bloom_quality
 | 
			
		||||
        property real scaling: shadersettings.bloom_quality * shadersettings.window_scaling
 | 
			
		||||
        id: bloomEffectLoader
 | 
			
		||||
        active: mBloom != 0
 | 
			
		||||
        asynchronous: true
 | 
			
		||||
 
 | 
			
		||||
@@ -56,8 +56,8 @@ Tab{
 | 
			
		||||
                    id: txtslider
 | 
			
		||||
                    onValueChanged: shadersettings.window_scaling = value;
 | 
			
		||||
                    value: shadersettings.window_scaling
 | 
			
		||||
                    stepSize: 0.25
 | 
			
		||||
                    Component.onCompleted: minimumValue = 0.5 //Without this value gets set to 0.5
 | 
			
		||||
                    stepSize: 0.10
 | 
			
		||||
                    Component.onCompleted: minimumValue = 0.3 //Without this value gets set to 0.5
 | 
			
		||||
                }
 | 
			
		||||
                Text{text: Math.round(txtslider.value * 100) + "%"}
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -46,10 +46,10 @@ ShaderEffect {
 | 
			
		||||
 | 
			
		||||
    property bool frameReflections: shadersettings.frameReflections
 | 
			
		||||
 | 
			
		||||
    property real disp_top: frame.item.displacementTop / height
 | 
			
		||||
    property real disp_bottom: frame.item.displacementBottom / height
 | 
			
		||||
    property real disp_left: frame.item.displacementLeft / width
 | 
			
		||||
    property real disp_right: frame.item.displacementRight / width
 | 
			
		||||
    property real disp_top: (frame.item.displacementTop * shadersettings.window_scaling) / height
 | 
			
		||||
    property real disp_bottom: (frame.item.displacementBottom * shadersettings.window_scaling) / height
 | 
			
		||||
    property real disp_left: (frame.item.displacementLeft * shadersettings.window_scaling) / width
 | 
			
		||||
    property real disp_right: (frame.item.displacementRight * shadersettings.window_scaling) / width
 | 
			
		||||
 | 
			
		||||
    property real screen_brightness: shadersettings.brightness * 1.5 + 0.5
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								app/qml/TerminalContainer.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								app/qml/TerminalContainer.qml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
import QtQuick 2.2
 | 
			
		||||
 | 
			
		||||
Item{
 | 
			
		||||
    Item{
 | 
			
		||||
        id: scalableContent
 | 
			
		||||
        width: parent.width * shadersettings.window_scaling
 | 
			
		||||
        height: parent.height * shadersettings.window_scaling
 | 
			
		||||
 | 
			
		||||
        Loader{
 | 
			
		||||
            id: frame
 | 
			
		||||
            anchors.fill: parent
 | 
			
		||||
            z: 2.1
 | 
			
		||||
            source: shadersettings.frame_source
 | 
			
		||||
        }
 | 
			
		||||
        PreprocessedTerminal{
 | 
			
		||||
            id: terminal
 | 
			
		||||
            anchors.fill: parent
 | 
			
		||||
        }
 | 
			
		||||
        ShaderTerminal{
 | 
			
		||||
            id: shadercontainer
 | 
			
		||||
            anchors.fill: parent
 | 
			
		||||
            opacity: shadersettings.windowOpacity * 0.3 + 0.7
 | 
			
		||||
            z: 1.9
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // This is used to render the texture to a lower resolution then scale it up.
 | 
			
		||||
    Loader{
 | 
			
		||||
        id: scalableContentSource
 | 
			
		||||
        active: shadersettings.window_scaling < 1
 | 
			
		||||
        sourceComponent: ShaderEffectSource{
 | 
			
		||||
            sourceItem: scalableContent
 | 
			
		||||
            hideSource: true
 | 
			
		||||
            smooth: true
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    Loader{
 | 
			
		||||
        active: shadersettings.window_scaling < 1
 | 
			
		||||
        anchors.fill: parent
 | 
			
		||||
        sourceComponent: ShaderEffect{
 | 
			
		||||
            property var source: scalableContentSource.item
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Terminal size overlay. Shown when terminal size changes.
 | 
			
		||||
    Loader{
 | 
			
		||||
        id: sizeoverlayloader
 | 
			
		||||
        z: 3
 | 
			
		||||
        anchors.centerIn: parent
 | 
			
		||||
        active: shadersettings.show_terminal_size
 | 
			
		||||
        sourceComponent: SizeOverlay{
 | 
			
		||||
            terminalSize: terminal.terminalSize
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -113,29 +113,8 @@ ApplicationWindow{
 | 
			
		||||
        id: timeManager
 | 
			
		||||
        enableTimer: terminalWindow.visible
 | 
			
		||||
    }
 | 
			
		||||
    Item{
 | 
			
		||||
        id: maincontainer
 | 
			
		||||
        anchors.centerIn: parent
 | 
			
		||||
        width: parent.width * shadersettings.window_scaling
 | 
			
		||||
        height: parent.height * shadersettings.window_scaling
 | 
			
		||||
        scale: 1.0 / shadersettings.window_scaling
 | 
			
		||||
        opacity: shadersettings.windowOpacity * 0.3 + 0.7
 | 
			
		||||
 | 
			
		||||
        Loader{
 | 
			
		||||
            id: frame
 | 
			
		||||
    TerminalContainer{
 | 
			
		||||
        anchors.fill: parent
 | 
			
		||||
            z: 2.1
 | 
			
		||||
            source: shadersettings.frame_source
 | 
			
		||||
        }
 | 
			
		||||
        PreprocessedTerminal{
 | 
			
		||||
            id: terminal
 | 
			
		||||
            anchors.fill: parent
 | 
			
		||||
        }
 | 
			
		||||
        ShaderTerminal{
 | 
			
		||||
            id: shadercontainer
 | 
			
		||||
            anchors.fill: parent
 | 
			
		||||
            z: 1.9
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    SettingsWindow{
 | 
			
		||||
        id: settingswindow
 | 
			
		||||
@@ -145,14 +124,5 @@ ApplicationWindow{
 | 
			
		||||
        id: aboutDialog
 | 
			
		||||
        visible: false
 | 
			
		||||
    }
 | 
			
		||||
    Loader{
 | 
			
		||||
        id: sizeoverlayloader
 | 
			
		||||
        z: 3
 | 
			
		||||
        anchors.centerIn: parent
 | 
			
		||||
        active: shadersettings.show_terminal_size
 | 
			
		||||
        sourceComponent: SizeOverlay{
 | 
			
		||||
            terminalSize: terminal.terminalSize
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    Component.onCompleted: shadersettings.handleFontChanged();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -65,5 +65,6 @@
 | 
			
		||||
        <file>Storage.qml</file>
 | 
			
		||||
        <file>CRTMainMenuBar.qml</file>
 | 
			
		||||
        <file>SettingsPerformanceTab.qml</file>
 | 
			
		||||
        <file>TerminalContainer.qml</file>
 | 
			
		||||
    </qresource>
 | 
			
		||||
</RCC>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user