Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
97511c73
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
97511c73
编写于
2月 15, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some cleanup in minimap
上级
33753656
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
40 addition
and
48 deletion
+40
-48
src/vs/editor/browser/viewParts/minimap/minimap.ts
src/vs/editor/browser/viewParts/minimap/minimap.ts
+25
-28
src/vs/editor/common/view/runtimeMinimapCharRenderer.ts
src/vs/editor/common/view/runtimeMinimapCharRenderer.ts
+10
-15
src/vs/editor/test/browser/view/minimapFontCreator.ts
src/vs/editor/test/browser/view/minimapFontCreator.ts
+2
-2
src/vs/editor/test/common/view/minimapCharRenderer.test.ts
src/vs/editor/test/common/view/minimapCharRenderer.test.ts
+3
-3
未找到文件。
src/vs/editor/browser/viewParts/minimap/minimap.ts
浏览文件 @
97511c73
...
...
@@ -9,9 +9,9 @@ import 'vs/css!./minimap';
import
{
ViewPart
}
from
'
vs/editor/browser/view/viewPart
'
;
import
{
ViewContext
}
from
'
vs/editor/common/view/viewContext
'
;
import
{
IRenderingContext
,
IRestrictedRenderingContext
}
from
'
vs/editor/common/view/renderingContext
'
;
import
{
c
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
import
{
getOrC
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
import
*
as
browser
from
'
vs/base/browser/browser
'
;
import
{
ParsedColor
,
MinimapTokensColorTracker
,
Constants
}
from
'
vs/editor/common/view/minimapCharRenderer
'
;
import
{
MinimapCharRenderer
,
ParsedColor
,
MinimapTokensColorTracker
,
Constants
}
from
'
vs/editor/common/view/minimapCharRenderer
'
;
import
*
as
editorCommon
from
'
vs/editor/common/editorCommon
'
;
import
{
CharCode
}
from
'
vs/base/common/charCode
'
;
import
{
IViewLayout
,
MinimapLineRenderingData
}
from
'
vs/editor/common/viewModel/viewModel
'
;
...
...
@@ -20,8 +20,6 @@ import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
import
{
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
EditorScrollbar
}
from
'
vs/editor/browser/viewParts/editorScrollbar/editorScrollbar
'
;
let
charRenderer2
=
createMinimapCharRenderer
();
// TODO@minimap
const
enum
RenderMinimap
{
None
=
0
,
Small
=
1
,
...
...
@@ -225,6 +223,8 @@ export class Minimap extends ViewPart {
private
readonly
_tokensColorTracker
:
MinimapTokensColorTracker
;
private
readonly
_tokensColorTrackerListener
:
IDisposable
;
private
readonly
_minimapCharRenderer
:
MinimapCharRenderer
;
private
_options
:
MinimapOptions
;
private
_lastLayout
:
MinimapLayout
;
private
_backgroundFillData
:
Uint8ClampedArray
;
...
...
@@ -255,10 +255,13 @@ export class Minimap extends ViewPart {
this
.
_tokensColorTracker
=
MinimapTokensColorTracker
.
getInstance
();
this
.
_tokensColorTrackerListener
=
this
.
_tokensColorTracker
.
onDidChange
(()
=>
this
.
_backgroundFillData
=
null
);
this
.
_minimapCharRenderer
=
getOrCreateMinimapCharRenderer
();
this
.
_applyLayout
();
}
public
dispose
():
void
{
this
.
_tokensColorTrackerListener
.
dispose
();
super
.
dispose
();
}
...
...
@@ -325,17 +328,17 @@ export class Minimap extends ViewPart {
this
.
_lastLayout
=
null
;
return
true
;
}
public
onModelDecorationsChanged
(
e
:
editorCommon
.
IViewDecorationsChangedEvent
):
boolean
{
return
false
;
}
public
onModelLinesDeleted
(
e
:
editorCommon
.
IViewLinesDeletedEvent
):
boolean
{
// TODO@minimap: only do so when the lines are painted in the minimap
this
.
_lastLayout
=
null
;
return
true
;
}
public
onModelLineChanged
(
e
:
editorCommon
.
IViewLineChangedEvent
):
boolean
{
// TODO@minimap: only do so when the lines are painted in the minimap
return
true
;
}
public
onModelLinesInserted
(
e
:
editorCommon
.
IViewLinesInsertedEvent
):
boolean
{
// TODO@minimap: only do so when the lines are painted in the minimap
this
.
_lastLayout
=
null
;
return
true
;
}
...
...
@@ -343,18 +346,6 @@ export class Minimap extends ViewPart {
// TODO@minimap: only do so when the lines are painted in the minimap
return
true
;
}
public
onCursorPositionChanged
(
e
:
editorCommon
.
IViewCursorPositionChangedEvent
):
boolean
{
return
false
;
}
public
onCursorSelectionChanged
(
e
:
editorCommon
.
IViewCursorSelectionChangedEvent
):
boolean
{
return
false
;
}
public
onCursorRevealRange
(
e
:
editorCommon
.
IViewRevealRangeEvent
):
boolean
{
return
false
;
}
public
onCursorScrollRequest
(
e
:
editorCommon
.
IViewScrollRequestEvent
):
boolean
{
return
false
;
}
public
onConfigurationChanged
(
e
:
editorCommon
.
IConfigurationChangedEvent
):
boolean
{
return
this
.
_onOptionsMaybeChanged
();
}
...
...
@@ -362,15 +353,12 @@ export class Minimap extends ViewPart {
return
this
.
_onOptionsMaybeChanged
();
}
public
onScrollChanged
(
e
:
editorCommon
.
IScrollEvent
):
boolean
{
// TODO@minimap: only do so when scrolling vertically
return
true
;
return
e
.
scrollTopChanged
||
e
.
scrollHeightChanged
;
}
public
onZonesChanged
():
boolean
{
this
.
_lastLayout
=
null
;
return
true
;
}
public
onViewFocusChanged
(
isFocused
:
boolean
):
boolean
{
return
false
;
}
// --- end event handlers
...
...
@@ -424,7 +412,7 @@ export class Minimap extends ViewPart {
// let start = performance.now();
let
dy
=
0
;
for
(
let
lineNumber
=
startLineNumber
;
lineNumber
<=
endLineNumber
;
lineNumber
++
)
{
Minimap
.
_renderLine
(
imageData
,
background
,
renderMinimap
,
charWidth
,
this
.
_tokensColorTracker
,
dy
,
data
[
lineNumber
-
startLineNumber
]);
Minimap
.
_renderLine
(
imageData
,
background
,
renderMinimap
,
charWidth
,
this
.
_tokensColorTracker
,
this
.
_minimapCharRenderer
,
dy
,
data
[
lineNumber
-
startLineNumber
]);
dy
+=
minimapLineHeight
;
}
// let end = performance.now();
...
...
@@ -433,7 +421,16 @@ export class Minimap extends ViewPart {
ctx
.
putImageData
(
imageData
,
0
,
0
);
}
private
static
_renderLine
(
target
:
ImageData
,
backgroundColor
:
ParsedColor
,
renderMinimap
:
RenderMinimap
,
charWidth
:
number
,
colorTracker
:
MinimapTokensColorTracker
,
dy
:
number
,
lineData
:
MinimapLineRenderingData
)
{
private
static
_renderLine
(
target
:
ImageData
,
backgroundColor
:
ParsedColor
,
renderMinimap
:
RenderMinimap
,
charWidth
:
number
,
colorTracker
:
MinimapTokensColorTracker
,
minimapCharRenderer
:
MinimapCharRenderer
,
dy
:
number
,
lineData
:
MinimapLineRenderingData
):
void
{
const
content
=
lineData
.
content
;
const
tokens
=
lineData
.
tokens
;
const
tabSize
=
lineData
.
tabSize
;
...
...
@@ -466,9 +463,9 @@ export class Minimap extends ViewPart {
dx
+=
charWidth
;
}
else
{
if
(
renderMinimap
===
RenderMinimap
.
Large
)
{
charRenderer2
.
x2RenderChar
(
target
,
dx
,
dy
,
charCode
,
tokenColor
,
backgroundColor
);
minimapCharRenderer
.
x2RenderChar
(
target
,
dx
,
dy
,
charCode
,
tokenColor
,
backgroundColor
);
}
else
{
charRenderer2
.
x1RenderChar
(
target
,
dx
,
dy
,
charCode
,
tokenColor
,
backgroundColor
);
minimapCharRenderer
.
x1RenderChar
(
target
,
dx
,
dy
,
charCode
,
tokenColor
,
backgroundColor
);
}
dx
+=
charWidth
;
}
...
...
src/vs/editor/common/view/runtimeMinimapCharRenderer.ts
浏览文件 @
97511c73
...
...
@@ -14,22 +14,17 @@ function toUint8ClampedArrat(arr: number[]): Uint8ClampedArray {
return
r
;
}
let
_x2Data
:
Uint8ClampedArray
=
null
;
let
_x1Data
:
Uint8ClampedArray
=
null
;
function
init
():
void
{
if
(
_x1Data
||
_x2Data
)
{
return
;
let
minimapCharRenderer
:
MinimapCharRenderer
=
null
;
export
function
getOrCreateMinimapCharRenderer
():
MinimapCharRenderer
{
if
(
!
minimapCharRenderer
)
{
let
_x1Data
=
toUint8ClampedArrat
(
x1Data
);
x1Data
=
null
;
let
_x2Data
=
toUint8ClampedArrat
(
x2Data
);
x2Data
=
null
;
minimapCharRenderer
=
new
MinimapCharRenderer
(
_x2Data
,
_x1Data
);
}
_x1Data
=
toUint8ClampedArrat
(
x1Data
);
x1Data
=
null
;
_x2Data
=
toUint8ClampedArrat
(
x2Data
);
x2Data
=
null
;
}
export
function
createMinimapCharRenderer
():
MinimapCharRenderer
{
init
();
return
new
MinimapCharRenderer
(
_x2Data
,
_x1Data
);
return
minimapCharRenderer
;
}
var
x2Data
=
[
...
...
src/vs/editor/test/browser/view/minimapFontCreator.ts
浏览文件 @
97511c73
...
...
@@ -6,7 +6,7 @@
import
{
Constants
,
MinimapCharRenderer
,
ParsedColor
}
from
'
vs/editor/common/view/minimapCharRenderer
'
;
import
{
MinimapCharRendererFactory
}
from
'
vs/editor/test/common/view/minimapCharRendererFactory
'
;
import
{
c
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
import
{
getOrC
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
let
canvas
=
<
HTMLCanvasElement
>
document
.
getElementById
(
'
my-canvas
'
);
let
ctx
=
canvas
.
getContext
(
'
2d
'
);
...
...
@@ -28,7 +28,7 @@ let minimapCharRenderer = MinimapCharRendererFactory.create(sampleData.data);
renderImageData
(
sampleData
,
10
,
100
);
renderMinimapCharRenderer
(
minimapCharRenderer
,
400
);
renderMinimapCharRenderer
(
c
reateMinimapCharRenderer
(),
600
);
renderMinimapCharRenderer
(
getOrC
reateMinimapCharRenderer
(),
600
);
function
createFakeImageData
(
width
:
number
,
height
:
number
):
ImageData
{
return
{
...
...
src/vs/editor/test/common/view/minimapCharRenderer.test.ts
浏览文件 @
97511c73
...
...
@@ -7,7 +7,7 @@
import
*
as
assert
from
'
assert
'
;
import
{
MinimapTokensColorTracker
,
ParsedColor
,
Constants
}
from
'
vs/editor/common/view/minimapCharRenderer
'
;
import
{
MinimapCharRendererFactory
}
from
'
vs/editor/test/common/view/minimapCharRendererFactory
'
;
import
{
c
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
import
{
getOrC
reateMinimapCharRenderer
}
from
'
vs/editor/common/view/runtimeMinimapCharRenderer
'
;
suite
(
'
MinimapColors
'
,
()
=>
{
...
...
@@ -137,7 +137,7 @@ suite('MinimapCharRenderer', () => {
});
test
(
'
letter d @ 2x at runtime
'
,
()
=>
{
let
renderer
=
c
reateMinimapCharRenderer
();
let
renderer
=
getOrC
reateMinimapCharRenderer
();
let
background
=
new
ParsedColor
(
0
,
0
,
0
);
let
color
=
new
ParsedColor
(
255
,
255
,
255
);
...
...
@@ -192,7 +192,7 @@ suite('MinimapCharRenderer', () => {
});
test
(
'
letter d @ 1x at runtime
'
,
()
=>
{
let
renderer
=
c
reateMinimapCharRenderer
();
let
renderer
=
getOrC
reateMinimapCharRenderer
();
let
background
=
new
ParsedColor
(
0
,
0
,
0
);
let
color
=
new
ParsedColor
(
255
,
255
,
255
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录