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
fd6129b3
Kaydet (Commit)
fd6129b3
authored
Şub 28, 2015
tarafından
Siqi Liu
Kaydeden (comit)
Miklos Vajna
Mar 02, 2015
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
add swipe support for presentation
Change-Id: I650d661a1656388e50e5d4e3a003b8eb4f032382
üst
8c086b9f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
90 additions
and
0 deletions
+90
-0
LOKitTileProvider.java
...OAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+26
-0
OnSlideSwipeListener.java
...droid3/src/java/org/libreoffice/OnSlideSwipeListener.java
+64
-0
No files found.
android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
Dosyayı görüntüle @
fd6129b3
...
...
@@ -10,12 +10,14 @@ import org.libreoffice.kit.DirectBufferAllocator;
import
org.libreoffice.kit.Document
;
import
org.libreoffice.kit.LibreOfficeKit
;
import
org.libreoffice.kit.Office
;
import
org.mozilla.gecko.TextSelection
;
import
org.mozilla.gecko.TextSelectionHandle
;
import
org.mozilla.gecko.gfx.BufferedCairoImage
;
import
org.mozilla.gecko.gfx.CairoImage
;
import
org.mozilla.gecko.gfx.GeckoLayerClient
;
import
org.mozilla.gecko.gfx.IntSize
;
import
org.mozilla.gecko.gfx.LayerView
;
import
java.nio.ByteBuffer
;
...
...
@@ -92,6 +94,30 @@ public class LOKitTileProvider implements TileProvider, Document.MessageCallback
// Writer documents always have one part, so hide the navigation drawer.
if
(
mDocument
.
getDocumentType
()
!=
Document
.
DOCTYPE_TEXT
)
{
// Set left/right swipe listener for presentation only.
if
(
mDocument
.
getDocumentType
()
==
Document
.
DOCTYPE_PRESENTATION
)
{
LayerView
layerView
=
mLayerClient
.
getView
();
layerView
.
setOnTouchListener
(
new
OnSlideSwipeListener
(
LibreOfficeMainActivity
.
mAppContext
)
{
@Override
public
void
onSwipeRight
()
{
if
(
getCurrentPartNumber
()
<
mDocument
.
getParts
()-
1
)
{
LOKitShell
.
sendChangePartEvent
(
getCurrentPartNumber
()+
1
);
}
}
@Override
public
void
onSwipeLeft
()
{
if
(
getCurrentPartNumber
()
>
0
)
{
LOKitShell
.
sendChangePartEvent
(
getCurrentPartNumber
()-
1
);
}
}
});
}
else
{
// Unregister touch listener when loading another document.
mLayerClient
.
getView
().
setOnTouchListener
(
null
);
}
for
(
int
i
=
0
;
i
<
parts
;
i
++)
{
String
partName
=
mDocument
.
getPartName
(
i
);
if
(
partName
.
isEmpty
())
{
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/OnSlideSwipeListener.java
0 → 100644
Dosyayı görüntüle @
fd6129b3
package
org
.
libreoffice
;
import
android.content.Context
;
import
android.view.GestureDetector
;
import
android.view.GestureDetector.SimpleOnGestureListener
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View.OnTouchListener
;
public
class
OnSlideSwipeListener
implements
OnTouchListener
{
private
final
GestureDetector
mGestureDetector
;
public
OnSlideSwipeListener
(
Context
ctx
){
mGestureDetector
=
new
GestureDetector
(
ctx
,
new
GestureListener
());
}
private
final
class
GestureListener
extends
SimpleOnGestureListener
{
private
static
final
int
SWIPE_THRESHOLD
=
100
;
private
static
final
int
SWIPE_VELOCITY_THRESHOLD
=
100
;
@Override
public
boolean
onDown
(
MotionEvent
e
)
{
return
true
;
}
@Override
public
boolean
onFling
(
MotionEvent
e1
,
MotionEvent
e2
,
float
velX
,
float
velY
)
{
boolean
result
=
false
;
try
{
float
diffY
=
e2
.
getY
()
-
e1
.
getY
();
float
diffX
=
e2
.
getX
()
-
e1
.
getX
();
if
(
Math
.
abs
(
diffX
)
>
Math
.
abs
(
diffY
))
{
if
(
Math
.
abs
(
diffX
)
>
SWIPE_THRESHOLD
&&
Math
.
abs
(
velX
)
>
SWIPE_VELOCITY_THRESHOLD
)
{
if
(
diffX
>
0
)
{
onSwipeRight
();
}
else
{
onSwipeLeft
();
}
}
result
=
true
;
}
}
catch
(
Exception
exception
)
{
exception
.
printStackTrace
();
}
return
result
;
}
}
public
void
onSwipeRight
()
{
}
public
void
onSwipeLeft
()
{
}
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
me
)
{
return
mGestureDetector
.
onTouchEvent
(
me
);
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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