diff --git a/docs/imgs/Screenshots/ZoomControls.png b/docs/imgs/Screenshots/ZoomControls.png
index 80c1b759f..74ab0eae9 100644
Binary files a/docs/imgs/Screenshots/ZoomControls.png and b/docs/imgs/Screenshots/ZoomControls.png differ
diff --git a/docs/window/texture_viewer.rst b/docs/window/texture_viewer.rst
index 52c6f38be..46cf65500 100644
--- a/docs/window/texture_viewer.rst
+++ b/docs/window/texture_viewer.rst
@@ -248,7 +248,7 @@ Zoom Controls
| |ZoomControls|
-The zoom controls are fairly self explanatory - a pre-existing zoom value can be chosen from the drop down or a custom value (clamped to the minimum and maximum zoom) can be entered as a percentage.
+The zoom controls are fairly self explanatory - a pre-existing zoom value can be chosen from the drop down or a custom value (clamped to the minimum and maximum zoom) can be entered as a percentage. Click the ``1:1`` button to zoom to the exact size.
To automatically fit the texture to the space available in the window, regardless of its dimensions, you can click the |fit_window| Fit button.
diff --git a/renderdocui/Windows/TextureViewer.Designer.cs b/renderdocui/Windows/TextureViewer.Designer.cs
index f555a8eda..95efcc584 100644
--- a/renderdocui/Windows/TextureViewer.Designer.cs
+++ b/renderdocui/Windows/TextureViewer.Designer.cs
@@ -121,6 +121,7 @@
this.actionsStrip = new System.Windows.Forms.ToolStrip();
this.saveTex = new System.Windows.Forms.ToolStripButton();
this.texListShow = new System.Windows.Forms.ToolStripButton();
+ this.viewTexBuffer = new System.Windows.Forms.ToolStripButton();
this.texlistContainer = new System.Windows.Forms.TableLayoutPanel();
this.textureList = new renderdocui.Controls.TextureListBox();
this.texturefilter = new System.Windows.Forms.ComboBox();
@@ -147,7 +148,7 @@
this.pixelContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.highlightedPixelHistoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.highlightedPixelDebugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.viewTexBuffer = new System.Windows.Forms.ToolStripButton();
+ this.zoomExactSize = new System.Windows.Forms.ToolStripButton();
subSep = new System.Windows.Forms.ToolStripSeparator();
toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
@@ -473,13 +474,14 @@
this.zoomStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.zoomStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel4,
+ this.zoomExactSize,
this.fitToWindow,
this.zoomOption,
this.flip_y});
this.zoomStrip.Location = new System.Drawing.Point(0, 50);
this.zoomStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
this.zoomStrip.Name = "zoomStrip";
- this.zoomStrip.Size = new System.Drawing.Size(227, 25);
+ this.zoomStrip.Size = new System.Drawing.Size(285, 25);
this.zoomStrip.TabIndex = 2;
//
// toolStripLabel4
@@ -536,7 +538,7 @@
this.overlayStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel5,
this.overlay});
- this.overlayStrip.Location = new System.Drawing.Point(239, 50);
+ this.overlayStrip.Location = new System.Drawing.Point(297, 50);
this.overlayStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
this.overlayStrip.Name = "overlayStrip";
this.overlayStrip.Size = new System.Drawing.Size(171, 25);
@@ -631,7 +633,7 @@
this.autoFit,
this.reset01,
this.visualiseRange});
- this.rangeStrip.Location = new System.Drawing.Point(422, 50);
+ this.rangeStrip.Location = new System.Drawing.Point(480, 50);
this.rangeStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
this.rangeStrip.Name = "rangeStrip";
this.rangeStrip.Size = new System.Drawing.Size(337, 25);
@@ -640,7 +642,7 @@
// rangeBlack
//
this.rangeBlack.Name = "rangeBlack";
- this.rangeBlack.Size = new System.Drawing.Size(50, 25);
+ this.rangeBlack.Size = new System.Drawing.Size(100, 25);
this.rangeBlack.Text = "0.0";
this.rangeBlack.Leave += new System.EventHandler(this.rangePoint_Leave);
this.rangeBlack.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.rangePoint_KeyPress);
@@ -649,7 +651,7 @@
// rangeWhite
//
this.rangeWhite.Name = "rangeWhite";
- this.rangeWhite.Size = new System.Drawing.Size(50, 25);
+ this.rangeWhite.Size = new System.Drawing.Size(100, 25);
this.rangeWhite.Text = "1.0";
this.rangeWhite.Leave += new System.EventHandler(this.rangePoint_Leave);
this.rangeWhite.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.rangePoint_KeyPress);
@@ -982,7 +984,7 @@
this.actionsStrip.Location = new System.Drawing.Point(0, 25);
this.actionsStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
this.actionsStrip.Name = "actionsStrip";
- this.actionsStrip.Size = new System.Drawing.Size(122, 25);
+ this.actionsStrip.Size = new System.Drawing.Size(114, 25);
this.actionsStrip.TabIndex = 8;
this.actionsStrip.Text = "toolStrip1";
//
@@ -1006,6 +1008,16 @@
this.texListShow.Text = "Open Texture List";
this.texListShow.Click += new System.EventHandler(this.texListShow_Click);
//
+ // viewTexBuffer
+ //
+ this.viewTexBuffer.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.viewTexBuffer.Image = global::renderdocui.Properties.Resources.page_white_code;
+ this.viewTexBuffer.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.viewTexBuffer.Name = "viewTexBuffer";
+ this.viewTexBuffer.Size = new System.Drawing.Size(23, 22);
+ this.viewTexBuffer.Text = "Open Texture as Buffer";
+ this.viewTexBuffer.Click += new System.EventHandler(this.viewTexBuffer_Click);
+ //
// texlistContainer
//
this.texlistContainer.ColumnCount = 2;
@@ -1246,27 +1258,27 @@
this.closeTabsToRight.Text = "Close tabs to right";
this.closeTabsToRight.Click += new System.EventHandler(this.closeTabsToRight_Click);
//
- // texPanel
+ // roPanel
//
this.roPanel.AutoScroll = true;
this.roPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.roPanel.Location = new System.Drawing.Point(461, 373);
this.roPanel.Margin = new System.Windows.Forms.Padding(0);
this.roPanel.MinimumSize = new System.Drawing.Size(2, 60);
- this.roPanel.Name = "texPanel";
+ this.roPanel.Name = "roPanel";
this.roPanel.Padding = new System.Windows.Forms.Padding(3);
this.roPanel.Size = new System.Drawing.Size(200, 60);
this.roPanel.TabIndex = 3;
this.roPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.thumbsLayout_MouseClick);
//
- // rtPanel
+ // rwPanel
//
this.rwPanel.AutoScroll = true;
this.rwPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.rwPanel.Location = new System.Drawing.Point(242, 373);
this.rwPanel.Margin = new System.Windows.Forms.Padding(0);
this.rwPanel.MinimumSize = new System.Drawing.Size(2, 60);
- this.rwPanel.Name = "rtPanel";
+ this.rwPanel.Name = "rwPanel";
this.rwPanel.Size = new System.Drawing.Size(200, 60);
this.rwPanel.TabIndex = 2;
this.rwPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.thumbsLayout_MouseClick);
@@ -1306,15 +1318,15 @@
this.highlightedPixelDebugToolStripMenuItem.Text = "Highlighted Pixel &Debug";
this.highlightedPixelDebugToolStripMenuItem.Click += new System.EventHandler(this.debugPixel_Click);
//
- // viewTexBuffer
+ // zoomExactSize
//
- this.viewTexBuffer.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
- this.viewTexBuffer.Image = global::renderdocui.Properties.Resources.page_white_code;
- this.viewTexBuffer.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.viewTexBuffer.Name = "viewTexBuffer";
- this.viewTexBuffer.Size = new System.Drawing.Size(23, 22);
- this.viewTexBuffer.Text = "Open Texture as Buffer";
- this.viewTexBuffer.Click += new System.EventHandler(this.viewTexBuffer_Click);
+ this.zoomExactSize.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ this.zoomExactSize.Image = ((System.Drawing.Image)(resources.GetObject("zoomExactSize.Image")));
+ this.zoomExactSize.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.zoomExactSize.Name = "zoomExactSize";
+ this.zoomExactSize.Size = new System.Drawing.Size(27, 22);
+ this.zoomExactSize.Text = "1:1";
+ this.zoomExactSize.Click += new System.EventHandler(this.zoomExactSize_Click);
//
// TextureViewer
//
@@ -1477,6 +1489,7 @@
private System.Windows.Forms.ToolStripMenuItem highlightedPixelHistoryToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem highlightedPixelDebugToolStripMenuItem;
private System.Windows.Forms.ToolStripButton viewTexBuffer;
+ private System.Windows.Forms.ToolStripButton zoomExactSize;
}
}
\ No newline at end of file
diff --git a/renderdocui/Windows/TextureViewer.cs b/renderdocui/Windows/TextureViewer.cs
index 0a69b9be6..62507d7cc 100644
--- a/renderdocui/Windows/TextureViewer.cs
+++ b/renderdocui/Windows/TextureViewer.cs
@@ -2883,6 +2883,12 @@ namespace renderdocui.Windows
UI_UpdateFittedScale();
}
+ private void zoomExactSize_Click(object sender, EventArgs e)
+ {
+ fitToWindow.Checked = false;
+ UI_SetScale(1.0f);
+ }
+
private void backcolorPick_Click(object sender, EventArgs e)
{
var result = colorDialog.ShowDialog();
diff --git a/renderdocui/Windows/TextureViewer.resx b/renderdocui/Windows/TextureViewer.resx
index 6faa94cfd..966036d7f 100644
--- a/renderdocui/Windows/TextureViewer.resx
+++ b/renderdocui/Windows/TextureViewer.resx
@@ -147,6 +147,22 @@
751, 17
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
+ YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
+ 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
+ bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
+ VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
+ c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
+ Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
+ mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
+ kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
+ TgDQASA1MVpwzwAAAABJRU5ErkJggg==
+
+
852, 17
@@ -159,7 +175,6 @@
638, 17
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8