1 line
36 KiB
JavaScript
1 line
36 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{266:function(t,a,s){"use strict";s.r(a);var n=s(0),e=Object(n.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),s("p",[t._v("Starting with "),s("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),s("code",[t._v("Markwon")]),t._v(" comes with "),s("code",[t._v("ImagesPlugin")]),t._v("\nwhich supports "),s("code",[t._v("http(s)")]),t._v(", "),s("code",[t._v("file")]),t._v(" and "),s("code",[t._v("data")]),t._v(" schemes and default media\ndecoder (for simple images, no "),s("router-link",{attrs:{to:"/docs/v3/image/svg.html"}},[t._v("SVG")]),t._v(" or "),s("router-link",{attrs:{to:"/docs/v3/image/gif.html"}},[t._v("GIF")]),t._v(" which\nare defined in standalone modules).")],1),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._m(14),t._v(" "),t._m(15),t._m(16),t._v(" "),t._m(17),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._m(22),t._v(" "),t._m(23),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("If you want to display GIF or SVG images also, you can use "),s("router-link",{attrs:{to:"/docs/v3/image/gif.html"}},[t._v("image-gif")]),t._v("\nand "),s("router-link",{attrs:{to:"/docs/v3/image/svg.html"}},[t._v("image-svg")]),t._v(" modules.")],1)]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("If you are using "),s("router-link",{attrs:{to:"/docs/v3/html/"}},[t._v("html")]),t._v(" you do not have to additionally setup\nimages displayed via "),s("code",[t._v("<img>")]),t._v(" tag, as "),s("code",[t._v("HtmlPlugin")]),t._v(" automatically uses configured\nimage loader. But images referenced in HTML come with additional support for\nsizes, which is not supported natively by markdown, allowing absolute or relative sizes:")],1),t._v(" "),t._m(24)]),t._v(" "),s("h2",{attrs:{id:"placeholder-drawable"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#placeholder-drawable","aria-hidden":"true"}},[t._v("#")]),t._v(" Placeholder drawable "),s("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),s("p",[t._v("It's possible to provide a custom placeholder for an image (whilst it's loading).")]),t._v(" "),t._m(25),s("h2",{attrs:{id:"error-drawable"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#error-drawable","aria-hidden":"true"}},[t._v("#")]),t._v(" Error drawable "),s("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),t._m(26),t._v(" "),t._m(27),t._m(28)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"images"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#images","aria-hidden":"true"}},[this._v("#")]),this._v(" Images")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"imagesplugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#imagesplugin","aria-hidden":"true"}},[this._v("#")]),this._v(" ImagesPlugin")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImagePlugin")]),this._v(" takes care of "),a("em",[this._v("obtaining")]),this._v(" image resource, decoding it and displaying it in a "),a("code",[this._v("TextView")]),this._v(".")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Although "),s("code",[t._v("core")]),t._v(" artifact contains "),s("code",[t._v("ImagesPlugin")]),t._v(" one must\nstill "),s("strong",[t._v("explicitly")]),t._v(" register the "),s("code",[t._v("ImagesPlugin")]),t._v(" on resulting "),s("code",[t._v("Markwon")]),t._v("\ninstance.")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("There are 2 factory methods to obtain "),a("code",[this._v("ImagesPlugin")]),this._v(":")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("ImagesPlugin#create(Context)")])]),this._v(" "),a("li",[a("code",[this._v("ImagesPlugin#createWithAssets(Context)")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The first one "),a("code",[this._v("#create(Context)")]),this._v(" configures:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[s("code",[t._v("FileSchemeHandler")]),t._v(" that allows obtaining images from "),s("code",[t._v("file://")]),t._v(" uris")]),t._v(" "),s("li",[s("code",[t._v("DataUriSchemeHandler")]),t._v(" that allows "),s("em",[t._v("inlining")]),t._v(" images with "),s("code",[t._v("data:")]),t._v("\nscheme ("),s("code",[t._v("data:image/svg+xml;base64,MTIz")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("NetworkSchemeHandler")]),t._v(" that allows obtaining images from "),s("code",[t._v("http://")]),t._v(" and "),s("code",[t._v("https://")]),t._v(" uris\n(internally it uses "),s("code",[t._v("HttpURLConnection")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("ImageMediaDecoder")]),t._v(" which "),s("em",[t._v("tries")]),t._v(" to decode all encountered images as regular ones (png, jpg, etc)")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The second one "),a("code",[this._v("#createWithAssets(Context)")]),this._v(" does the same but also adds support\nfor images that reside in "),a("code",[this._v("assets")]),this._v(" folder of your application and\nreferenced by "),a("code",[this._v("file:///android_asset/{path}")]),this._v(" uri.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImagesPlugin")]),this._v(" also "),a("em",[this._v("prepares")]),this._v(" a TextView to display images. Due to asynchronous\nnature of image loading, there must be a way to invalidate resulting Spanned\ncontent after an image is loaded.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Images come with few limitations. For of all, they work with a "),s("strong",[t._v("TextView only")]),t._v(".\nThis is due to the fact that there is no way to invalidate a "),s("code",[t._v("Spanned")]),t._v(" content\nby itself (without context in which it is displayed). So, if "),s("code",[t._v("Markwon")]),t._v(" is used,\nfor example, to display a "),s("code",[t._v("Toast")]),t._v(" with an image:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned spanned "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("toMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"Hello "')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nToast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("makeText")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" spanned"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("show")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Image "),s("em",[t._v("probably")]),t._v(" won't be displayed. As a workaround for "),s("code",[t._v("Toast")]),t._v(" a custom "),s("code",[t._v("View")]),t._v("\ncan be used:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned spanned "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("toMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"Hello "')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" View view "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("createToastView")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" TextView textView "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" view"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("findViewById")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("R"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("text_view"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nmarkwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setParsedMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" spanned"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Toast toast "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Toast")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\ntoast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setView")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("view"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token comment"}},[t._v("// other Toast configurations")]),t._v("\ntoast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("show")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"schemehandler"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#schemehandler","aria-hidden":"true"}},[this._v("#")]),this._v(" SchemeHandler")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To add support for different schemes (or customize provided) a "),a("code",[this._v("SchemeHandler")]),this._v(" must be used.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// example only, Markwon doesn't come with a ftp scheme handler")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addSchemeHandler")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"ftp"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("FtpSchemeHandler")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("It's a class to "),a("em",[this._v("convert")]),this._v(" an URI into an "),a("code",[this._v("InputStream")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SchemeHandler")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" ImageItem "),s("span",{attrs:{class:"token function"}},[t._v("handle")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String raw"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Uri uri"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImageItem")]),this._v(" is a holder class for resulting "),a("code",[this._v("InputStream")]),this._v(" and (optional)\ncontent type:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("ImageItem")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" String contentType"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" InputStream inputStream"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("/* rest omitted */")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("Based on "),s("code",[t._v("contentType")]),t._v(" returned a corresponding "),s("code",[t._v("MediaDecoder")]),t._v(" will be matched.\nIf no "),s("code",[t._v("MediaDecoder")]),t._v(" can handle given "),s("code",[t._v("contentType")]),t._v(" then a default media decoder will\nbe used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"mediadecoder"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mediadecoder","aria-hidden":"true"}},[this._v("#")]),this._v(" MediaDecoder")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("By default "),s("code",[t._v("core")]),t._v(" artifact comes with "),s("em",[t._v("default image decoder")]),t._v(" only. It's called\n"),s("code",[t._v("ImageMediaDecoder")]),t._v(" and it can decode all the formats that "),s("code",[t._v("BitmapFactory#decodeStream(InputStream)")]),t._v("\ncan.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("this")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("this")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addMediaDecoder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"text/plain"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("TextPlainMediaDecoder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("MediaDecoder")]),this._v(" is a class to turn "),a("code",[this._v("InputStream")]),this._v(" into a "),a("code",[this._v("Drawable")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MediaDecoder")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("decode")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" InputStream inputStream"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("./assets/my-image"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100%"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("placeholderDrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("provide")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// your custom placeholder drawable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("PlaceholderDrawable")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To fallback in case of error whilst loading an image, an "),a("code",[this._v("error drawable")]),this._v(" can be used:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("errorDrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("provide")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// your custom error drawable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MyErrorDrawable")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Before "),s("code",[t._v("3.0.0")]),t._v(" "),s("code",[t._v("AsyncDrawableLoader")]),t._v(" accepted a simple "),s("code",[t._v("Drawable")]),t._v(" as error drawable\nargument. Starting "),s("code",[t._v("3.0.0")]),t._v(" it accepts a "),s("code",[t._v("DrawableProvider")]),t._v(" instead.")])])}],!1,null,null,null);e.options.__file="images.md";a.default=e.exports}}]); |