\name{make_layout-HeatmapList-method}
\alias{make_layout,HeatmapList-method}
\title{
Make Layout for the Heatmap List
}
\description{
Make Layout for the Heatmap List
}
\usage{
\S4method{make_layout}{HeatmapList}(object,

row_title = character(0),
row_title_side = c("left", "right"),
row_title_gp = gpar(fontsize = 14),
column_title = character(0),
column_title_side = c("top", "bottom"),
column_title_gp = gpar(fontsize = 14),

heatmap_legend_side = c("right", "left", "bottom", "top"),
merge_legends = FALSE,
show_heatmap_legend = TRUE,
heatmap_legend_list = list(),
annotation_legend_side = c("right", "left", "bottom", "top"),
show_annotation_legend = TRUE,
annotation_legend_list = list(),
align_heatmap_legend = NULL,
align_annotation_legend = NULL,
legend_grouping = c("adjusted", "original"),

ht_gap = unit(2, "mm"),

main_heatmap = which(sapply(object@ht_list, inherits, "Heatmap"))[1],
padding = GLOBAL_PADDING,

auto_adjust = TRUE,
row_dend_side = c("original", "left", "right"),
row_sub_title_side = c("original", "left", "right"),
column_dend_side = c("original", "top", "bottom"),
column_sub_title_side = c("original", "top", "bottom"),

row_gap = NULL,
cluster_rows = NULL,
cluster_row_slices = NULL,
clustering_distance_rows = NULL,
clustering_method_rows = NULL,
row_dend_width = NULL,
show_row_dend = NULL,
row_dend_reorder = NULL,
row_dend_gp = NULL,
row_order = NULL,
row_km = NULL,
row_km_repeats = NULL,
row_split = NULL,
height = NULL,
heatmap_height = NULL,

column_gap = NULL,
cluster_columns = NULL,
cluster_column_slices = NULL,
clustering_distance_columns = NULL,
clustering_method_columns = NULL,
column_dend_width = NULL,
show_column_dend = NULL,
column_dend_reorder = NULL,
column_dend_gp = NULL,
column_order = NULL,
column_km = NULL,
column_km_repeats = NULL,
column_split = NULL,
width = NULL,
heatmap_width = NULL,

use_raster = NULL,
raster_device = NULL,
raster_quality = NULL,
raster_device_param = NULL,
raster_resize = NULL)
}
\arguments{

\item{object}{A \code{\link{HeatmapList-class}} object.}
\item{row_title}{Title on the row.}
\item{row_title_side}{Will the title be put on the left or right of the heatmap list?}
\item{row_title_gp}{Graphic parameters for the row title.}
\item{column_title}{Title on the column.}
\item{column_title_side}{Will the title be put on the top or bottom of the heatmap?}
\item{column_title_gp}{Graphic parameters for the column title.}
\item{heatmap_legend_side}{Side of the heatmap legends.}
\item{merge_legends}{Whether to put heatmap legends and annotation legends together. By default they are put in different viewports.}
\item{show_heatmap_legend}{Whether show heatmap legends.}
\item{heatmap_legend_list}{A list of self-defined legends, should be wrapped into a list of \code{\link[grid:grid.grob]{grob}} objects. Normally they are constructed by \code{\link{Legend}}. }
\item{annotation_legend_side}{Side of annotation legends.}
\item{show_annotation_legend}{Whether show annotation legends.}
\item{annotation_legend_list}{A list of self-defined legends, should be wrapped into a list of \code{\link[grid:grid.grob]{grob}} objects. Normally they are constructed by \code{\link{Legend}}.}
\item{align_heatmap_legend}{How to align the legends to heatmap. Possible values are "heatmap_center", "heatmap_top" and "global_center". If the value is \code{NULL}, it automatically picks the proper value from the three options.}
\item{align_annotation_legend}{How to align the legends to heatmap. Possible values are "heatmap_center", "heatmap_top" and "global_center".}
\item{legend_grouping}{How the legends are grouped. Values should be "adjusted" or "original".}
\item{ht_gap}{Gap between heatmaps, should be a \code{\link[grid]{unit}} object. It can be a vector of length 1 or the number of heamtaps/annotations.}
\item{main_heatmap}{Name or index for the main heatmap.}
\item{padding}{Padding of the whole plot. The four values correspond to the bottom, left, top and right paddings.}
\item{auto_adjust}{whether apply automatic adjustment? The auto-adjustment includes turning off dendrograms, titles and row/columns for non-main heatmaps.}
\item{row_dend_side}{If auto-adjustment is on, to put the row dendrograms of the main heatmap to the most left side of the heatmap list or the most right side?}
\item{row_sub_title_side}{There can be sub titles generated by the splitting of heatmaps. Similar setting as \code{row_dend_side}.}
\item{column_dend_side}{Similar setting as \code{row_dend_side}.}
\item{column_sub_title_side}{Similar setting as \code{row_sub_title_side}.}
\item{row_gap}{Overwrite the corresponding setting in the main heatmap.}
\item{cluster_rows}{Overwrite the corresponding setting in the main heatmap.}
\item{cluster_row_slices}{Overwrite the corresponding setting in the main heatmap.}
\item{clustering_distance_rows}{Overwrite the corresponding setting in the main heatmap.}
\item{clustering_method_rows}{Overwrite the corresponding setting in the main heatmap.same setting as in \code{\link{Heatmap}}, if it is specified, \code{clustering_method_rows} in main heatmap is ignored.}
\item{row_dend_width}{Overwrite the corresponding setting in the main heatmap.}
\item{show_row_dend}{same Overwrite the corresponding setting in the main heatmap.}
\item{row_dend_reorder}{Overwrite the corresponding setting in the main heatmap.}
\item{row_dend_gp}{Overwrite the corresponding setting in the main heatmap.}
\item{row_order}{Overwrite the corresponding setting in the main heatmap.}
\item{row_km}{Overwrite the corresponding setting in the main heatmap.}
\item{row_km_repeats}{Overwrite the corresponding setting in the main heatmap.}
\item{row_split}{Overwrite the corresponding setting in the main heatmap.}
\item{height}{Overwrite the corresponding setting in the main heatmap.}
\item{heatmap_height}{Overwrite the corresponding setting in the main heatmap.}
\item{column_gap}{Overwrite the corresponding setting in the main heatmap.}
\item{cluster_columns}{Overwrite the corresponding setting in the main heatmap.}
\item{cluster_column_slices}{Overwrite the corresponding setting in the main heatmap.}
\item{clustering_distance_columns}{Overwrite the corresponding setting in the main heatmap.}
\item{clustering_method_columns}{Overwrite the corresponding setting in the main heatmap.}
\item{column_dend_width}{column Overwrite the corresponding setting in the main heatmap.}
\item{show_column_dend}{Overwrite the corresponding setting in the main heatmap.}
\item{column_dend_reorder}{Overwrite the corresponding setting in the main heatmap.}
\item{column_dend_gp}{Overwrite the corresponding setting in the main heatmap.}
\item{column_order}{Overwrite the corresponding setting in the main heatmap.}
\item{column_km}{Overwrite the corresponding setting in the main heatmap.}
\item{column_km_repeats}{Overwrite the corresponding setting in the main heatmap.}
\item{column_split}{Overwrite the corresponding setting in the main heatmap.}
\item{width}{Overwrite the corresponding setting in the main heatmap.}
\item{heatmap_width}{Overwrite the corresponding setting in the main heatmap.}
\item{use_raster}{Overwrite the corresponding setting in every heatmap.}
\item{raster_device}{Overwrite the corresponding setting in every heatmap.}
\item{raster_quality}{Overwrite the corresponding setting in every heatmap.}
\item{raster_device_param}{Overwrite the corresponding setting in every heatmap.}
\item{raster_resize}{Overwrite the corresponding setting in every heatmap.}

}
\details{
It sets the size of each component of the heatmap list and adjusts graphic
parameters for each heatmap if necessary.

This function is only for internal use.
}
\value{
A \code{\link{HeatmapList-class}} object in which settings for all heatmap are adjusted.
}
\author{
Zuguang Gu <z.gu@dkfz.de>
}
\examples{
# There is no example
NULL

}