|
|
@ -51,7 +51,8 @@ object ChapterProvider { |
|
|
|
book: Book, |
|
|
|
book: Book, |
|
|
|
bookChapter: BookChapter, |
|
|
|
bookChapter: BookChapter, |
|
|
|
contents: List<String>, |
|
|
|
contents: List<String>, |
|
|
|
chapterSize: Int |
|
|
|
chapterSize: Int, |
|
|
|
|
|
|
|
imageStyle: String? |
|
|
|
): TextChapter { |
|
|
|
): TextChapter { |
|
|
|
val textPages = arrayListOf<TextPage>() |
|
|
|
val textPages = arrayListOf<TextPage>() |
|
|
|
val pageLines = arrayListOf<Int>() |
|
|
|
val pageLines = arrayListOf<Int>() |
|
|
@ -69,7 +70,7 @@ object ChapterProvider { |
|
|
|
src?.let { |
|
|
|
src?.let { |
|
|
|
durY = |
|
|
|
durY = |
|
|
|
setTypeImage( |
|
|
|
setTypeImage( |
|
|
|
book, bookChapter, src, durY, textPages |
|
|
|
book, bookChapter, src, durY, textPages, imageStyle |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -116,25 +117,32 @@ object ChapterProvider { |
|
|
|
chapter: BookChapter, |
|
|
|
chapter: BookChapter, |
|
|
|
src: String, |
|
|
|
src: String, |
|
|
|
y: Float, |
|
|
|
y: Float, |
|
|
|
textPages: ArrayList<TextPage> |
|
|
|
textPages: ArrayList<TextPage>, |
|
|
|
|
|
|
|
imageStyle: String? |
|
|
|
): Float { |
|
|
|
): Float { |
|
|
|
var durY = y |
|
|
|
var durY = y |
|
|
|
ImageProvider.getImage(book, chapter.index, src)?.let { |
|
|
|
ImageProvider.getImage(book, chapter.index, src)?.let { |
|
|
|
var height = it.height |
|
|
|
var height = it.height |
|
|
|
var width = it.width |
|
|
|
var width = it.width |
|
|
|
if (it.width > visibleWidth) { |
|
|
|
when (imageStyle?.toUpperCase()) { |
|
|
|
height = it.height * visibleWidth / it.width |
|
|
|
"FULL" -> { |
|
|
|
width = |
|
|
|
width = visibleWidth |
|
|
|
visibleWidth |
|
|
|
height = it.width / width * it.height |
|
|
|
} |
|
|
|
} |
|
|
|
if (height > visibleHeight) { |
|
|
|
else -> { |
|
|
|
width = width * visibleHeight / height |
|
|
|
if (it.width > visibleWidth) { |
|
|
|
height = |
|
|
|
height = it.height * visibleWidth / it.width |
|
|
|
visibleHeight |
|
|
|
width = visibleWidth |
|
|
|
} |
|
|
|
} |
|
|
|
if (durY + height > visibleHeight) { |
|
|
|
if (height > visibleHeight) { |
|
|
|
textPages.add(TextPage()) |
|
|
|
width = width * visibleHeight / height |
|
|
|
durY = 0f |
|
|
|
height = visibleHeight |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (durY + height > visibleHeight) { |
|
|
|
|
|
|
|
textPages.add(TextPage()) |
|
|
|
|
|
|
|
durY = 0f |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
val textLine = TextLine(isImage = true) |
|
|
|
val textLine = TextLine(isImage = true) |
|
|
|
textLine.lineTop = durY |
|
|
|
textLine.lineTop = durY |
|
|
|