@@ -263,6 +263,7 @@ define([
263
263
var MIME_SVG = 'image/svg+xml' ;
264
264
var MIME_PNG = 'image/png' ;
265
265
var MIME_JPEG = 'image/jpeg' ;
266
+ var MIME_GIF = 'image/gif' ;
266
267
var MIME_PDF = 'application/pdf' ;
267
268
var MIME_TEXT = 'text/plain' ;
268
269
@@ -275,6 +276,7 @@ define([
275
276
MIME_SVG ,
276
277
MIME_PNG ,
277
278
MIME_JPEG ,
279
+ MIME_GIF ,
278
280
MIME_PDF ,
279
281
MIME_TEXT ,
280
282
] ;
@@ -660,6 +662,7 @@ define([
660
662
OutputArea . safe_outputs [ MIME_LATEX ] = true ;
661
663
OutputArea . safe_outputs [ MIME_PNG ] = true ;
662
664
OutputArea . safe_outputs [ MIME_JPEG ] = true ;
665
+ OutputArea . safe_outputs [ MIME_GIF ] = true ;
663
666
664
667
OutputArea . prototype . append_mime_type = function ( json , element , handle_inserted ) {
665
668
for ( var i = 0 ; i < OutputArea . display_order . length ; i ++ ) {
@@ -683,7 +686,7 @@ define([
683
686
// callback, if the mime type is something other we must call the
684
687
// inserted callback only when the element is actually inserted
685
688
// into the DOM. Use a timeout of 0 to do this.
686
- if ( [ MIME_PNG , MIME_JPEG ] . indexOf ( type ) < 0 && handle_inserted !== undefined ) {
689
+ if ( [ MIME_PNG , MIME_JPEG , MIME_GIF ] . indexOf ( type ) < 0 && handle_inserted !== undefined ) {
687
690
setTimeout ( handle_inserted , 0 ) ;
688
691
}
689
692
this . events . trigger ( 'output_appended.OutputArea' , [ type , value , md , toinsert ] ) ;
@@ -822,7 +825,7 @@ define([
822
825
} ) ;
823
826
}
824
827
img [ 0 ] . src = 'data:image/png;base64,' + png ;
825
- set_width_height ( img , md , MIME_PNG ) ;
828
+ set_width_height ( img , md , type ) ;
826
829
dblclick_to_reset_size ( img ) ;
827
830
toinsert . append ( img ) ;
828
831
element . append ( toinsert ) ;
@@ -840,7 +843,24 @@ define([
840
843
} ) ;
841
844
}
842
845
img [ 0 ] . src = 'data:image/jpeg;base64,' + jpeg ;
843
- set_width_height ( img , md , MIME_JPEG ) ;
846
+ set_width_height ( img , md , type ) ;
847
+ dblclick_to_reset_size ( img ) ;
848
+ toinsert . append ( img ) ;
849
+ element . append ( toinsert ) ;
850
+ return toinsert ;
851
+ } ;
852
+
853
+ var append_gif = function ( gif , md , element , handle_inserted ) {
854
+ var type = MIME_GIF ;
855
+ var toinsert = this . create_output_subarea ( md , "output_gif" , type ) ;
856
+ var img = $ ( "<img/>" ) ;
857
+ if ( handle_inserted !== undefined ) {
858
+ img . on ( 'load' , function ( ) {
859
+ handle_inserted ( img ) ;
860
+ } ) ;
861
+ }
862
+ img [ 0 ] . src = 'data:image/gif;base64,' + gif ;
863
+ set_width_height ( img , md , type ) ;
844
864
dblclick_to_reset_size ( img ) ;
845
865
toinsert . append ( img ) ;
846
866
element . append ( toinsert ) ;
@@ -1073,6 +1093,7 @@ define([
1073
1093
MIME_SVG ,
1074
1094
MIME_PNG ,
1075
1095
MIME_JPEG ,
1096
+ MIME_GIF ,
1076
1097
MIME_PDF ,
1077
1098
MIME_TEXT
1078
1099
] ;
@@ -1084,6 +1105,7 @@ define([
1084
1105
OutputArea . append_map [ MIME_SVG ] = append_svg ;
1085
1106
OutputArea . append_map [ MIME_PNG ] = append_png ;
1086
1107
OutputArea . append_map [ MIME_JPEG ] = append_jpeg ;
1108
+ OutputArea . append_map [ MIME_GIF ] = append_gif ;
1087
1109
OutputArea . append_map [ MIME_LATEX ] = append_latex ;
1088
1110
OutputArea . append_map [ MIME_JAVASCRIPT ] = append_javascript ;
1089
1111
OutputArea . append_map [ MIME_PDF ] = append_pdf ;
0 commit comments