Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
91507e8e
Kaydet (Commit)
91507e8e
authored
Eki 01, 2014
tarafından
Tomaž Vajngerl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
android: add tileSize parameter to TileProvider
Change-Id: I607dbaa897b17f5b650f10293956c8154da6f43d
üst
594e7290
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
16 deletions
+15
-16
LOKitTileProvider.java
...OAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+2
-1
MockTileProvider.java
...LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
+3
-2
TileProvider.java
...tal/LOAndroid3/src/java/org/libreoffice/TileProvider.java
+2
-1
MultiTileLayer.java
...droid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java
+8
-12
No files found.
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
Dosyayı görüntüle @
91507e8e
...
...
@@ -8,6 +8,7 @@ import org.libreoffice.kit.LibreOfficeKit;
import
org.libreoffice.kit.Office
;
import
org.mozilla.gecko.gfx.BufferedCairoImage
;
import
org.mozilla.gecko.gfx.CairoImage
;
import
org.mozilla.gecko.gfx.FloatSize
;
import
org.mozilla.gecko.gfx.LayerController
;
import
java.nio.ByteBuffer
;
...
...
@@ -131,7 +132,7 @@ public class LOKitTileProvider implements TileProvider {
}
@Override
public
CairoImage
createTile
(
float
x
,
float
y
,
float
zoom
)
{
public
CairoImage
createTile
(
float
x
,
float
y
,
FloatSize
tileSize
,
float
zoom
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocateDirect
(
TILE_SIZE
*
TILE_SIZE
*
4
);
Bitmap
bitmap
=
Bitmap
.
createBitmap
(
TILE_SIZE
,
TILE_SIZE
,
Bitmap
.
Config
.
ARGB_8888
);
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
Dosyayı görüntüle @
91507e8e
...
...
@@ -4,6 +4,7 @@ import android.graphics.Bitmap;
import
org.mozilla.gecko.gfx.BufferedCairoImage
;
import
org.mozilla.gecko.gfx.CairoImage
;
import
org.mozilla.gecko.gfx.FloatSize
;
import
org.mozilla.gecko.gfx.LayerController
;
public
class
MockTileProvider
implements
TileProvider
{
...
...
@@ -35,7 +36,7 @@ public class MockTileProvider implements TileProvider {
@Override
public
int
getPageHeight
()
{
return
630
*
5
;
return
630
*
5
;
}
@Override
...
...
@@ -44,7 +45,7 @@ public class MockTileProvider implements TileProvider {
}
@Override
public
CairoImage
createTile
(
float
x
,
float
y
,
float
zoom
)
{
public
CairoImage
createTile
(
float
x
,
float
y
,
FloatSize
tileSize
,
float
zoom
)
{
int
tiles
=
(
int
)
(
getPageWidth
()
/
TILE_SIZE
)
+
1
;
int
tileNumber
=
(
int
)
((
y
/
TILE_SIZE
)
*
tiles
+
(
x
/
TILE_SIZE
));
tileNumber
%=
9
;
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
Dosyayı görüntüle @
91507e8e
...
...
@@ -4,6 +4,7 @@ package org.libreoffice;
import
android.graphics.Bitmap
;
import
org.mozilla.gecko.gfx.CairoImage
;
import
org.mozilla.gecko.gfx.FloatSize
;
public
interface
TileProvider
{
int
getPageWidth
();
...
...
@@ -12,7 +13,7 @@ public interface TileProvider {
boolean
isReady
();
CairoImage
createTile
(
float
x
,
float
y
,
float
zoom
);
CairoImage
createTile
(
float
x
,
float
y
,
FloatSize
tileSize
,
float
zoom
);
void
changePart
(
int
partIndex
);
...
...
android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java
Dosyayı görüntüle @
91507e8e
...
...
@@ -56,11 +56,7 @@ public class MultiTileLayer extends Layer {
private
static
int
TILE_SIZE
=
256
;
private
final
List
<
SubTile
>
mTiles
=
new
CopyOnWriteArrayList
<
SubTile
>();
private
TileProvider
tileProvider
;
private
RectF
tileViewPort
=
new
RectF
();
public
MultiTileLayer
()
{
super
();
}
private
RectF
currentViewPort
=
new
RectF
();
public
void
invalidate
()
{
for
(
SubTile
layer
:
mTiles
)
{
...
...
@@ -211,10 +207,10 @@ public class MultiTileLayer extends Layer {
}
public
void
reevaluateTiles
(
ImmutableViewportMetrics
viewportMetrics
)
{
RectF
new
Tile
ViewPort
=
inflate
(
roundToTileSize
(
viewportMetrics
.
getViewport
(),
TILE_SIZE
),
TILE_SIZE
);
RectF
new
Current
ViewPort
=
inflate
(
roundToTileSize
(
viewportMetrics
.
getViewport
(),
TILE_SIZE
),
TILE_SIZE
);
if
(
tileViewPort
!=
newTile
ViewPort
)
{
tileViewPort
=
newTile
ViewPort
;
if
(
currentViewPort
!=
newCurrent
ViewPort
)
{
currentViewPort
=
newCurrent
ViewPort
;
clearMarkedTiles
();
addNewTiles
(
viewportMetrics
);
markTiles
(
viewportMetrics
);
...
...
@@ -233,11 +229,11 @@ public class MultiTileLayer extends Layer {
}
private
void
addNewTiles
(
ImmutableViewportMetrics
viewportMetrics
)
{
for
(
float
y
=
tileViewPort
.
top
;
y
<
tile
ViewPort
.
bottom
;
y
+=
TILE_SIZE
)
{
for
(
float
y
=
currentViewPort
.
top
;
y
<
current
ViewPort
.
bottom
;
y
+=
TILE_SIZE
)
{
if
(
y
>
viewportMetrics
.
getPageHeight
())
{
continue
;
}
for
(
float
x
=
tileViewPort
.
left
;
x
<
tile
ViewPort
.
right
;
x
+=
TILE_SIZE
)
{
for
(
float
x
=
currentViewPort
.
left
;
x
<
current
ViewPort
.
right
;
x
+=
TILE_SIZE
)
{
if
(
x
>
viewportMetrics
.
getPageWidth
())
{
continue
;
}
...
...
@@ -248,7 +244,7 @@ public class MultiTileLayer extends Layer {
}
}
if
(!
contains
)
{
CairoImage
image
=
tileProvider
.
createTile
(
x
,
y
,
viewportMetrics
.
zoomFactor
);
CairoImage
image
=
tileProvider
.
createTile
(
x
,
y
,
new
FloatSize
(
TILE_SIZE
,
TILE_SIZE
),
viewportMetrics
.
zoomFactor
);
SubTile
tile
=
new
SubTile
(
image
,
(
int
)
x
,
(
int
)
y
,
viewportMetrics
.
zoomFactor
);
tile
.
beginTransaction
();
mTiles
.
add
(
tile
);
...
...
@@ -261,7 +257,7 @@ public class MultiTileLayer extends Layer {
for
(
SubTile
tile
:
mTiles
)
{
if
(
FloatUtils
.
fuzzyEquals
(
tile
.
zoom
,
viewportMetrics
.
zoomFactor
))
{
RectF
tileRect
=
new
RectF
(
tile
.
x
,
tile
.
y
,
tile
.
x
+
TILE_SIZE
,
tile
.
y
+
TILE_SIZE
);
if
(!
RectF
.
intersects
(
tile
ViewPort
,
tileRect
))
{
if
(!
RectF
.
intersects
(
current
ViewPort
,
tileRect
))
{
tile
.
markForRemoval
();
}
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment