HEX
Server: Apache/2.4.18 (Ubuntu)
System: Linux ubuntu 7.0.5-x86_64-linode173 #1 SMP PREEMPT_DYNAMIC Fri May 8 10:12:05 EDT 2026 x86_64
User: root (0)
PHP: 7.2.28-1+ubuntu16.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/share/doc/libfreetype6-dev/javascript/freetype2.js
/*!
 * freetype2.js
 *
 * auxiliary JavaScript functions for freetype.org
 *
 * written 2012 by Werner Lemberg
 */

// This code snippet needs `jquery'
// (http://code.jquery.com/jquery-1.8.3.js) and `jquery-resize'
// (http://github.com/cowboy/jquery-resize/raw/master/jquery.ba-resize.js)


// Add a bottom bar if the document length exceeds the window height. 
// Additionally ensure that the TOC background reaches the bottom of the
// window.

function addBottomBar() {
  var columnHeight = $('.colright').height();
  var topBarHeight = $('#top').height();
  var winHeight = $(window).height();

  if (columnHeight + topBarHeight > winHeight) {
    $('#TOC-bottom').css('height', columnHeight);
    /* add bottom bar if it doesn't exist already */
    if ($('#bottom').length == 0) {
      $('body').append('<div class="bar" id="bottom"></div>');
    }
  }
  else {
    $('#TOC-bottom').css('height', winHeight - topBarHeight);
    $('#bottom').remove();
  }
}


// `Slightly' scroll the TOC so that its top moves up to the top of the
// screen if we scroll down.  The function also assures that the bottom of
// the TOC doesn't cover the bottom bar (e.g., if the window height is very
// small).

function adjustTOCPosition() {
  var docHeight = $(document).height();
  var TOCHeight = $('#TOC').height();
  var bottomBarHeight = $('#bottom').height();
  var topBarHeight = $('#top').height();

  var scrollTopPos = $(window).scrollTop();
  var topBarBottomPos = 0 + topBarHeight;
  var bottomBarTopPos = docHeight - bottomBarHeight;

  if (scrollTopPos >= topBarBottomPos) {
    $('#TOC').css('top', 0);
  }
  if (scrollTopPos < topBarBottomPos) {
    $('#TOC').css('top', topBarBottomPos - scrollTopPos);
  }
  if (bottomBarTopPos - scrollTopPos < TOCHeight)
    $('#TOC').css('top', bottomBarTopPos - scrollTopPos - TOCHeight);
}


// Hook functions into loading, resizing, and scrolling events.

$(window).load(function() {
  addBottomBar();
  adjustTOCPosition();

  $(window).scroll(function() {
    adjustTOCPosition();
  });

  $('#TOC-bottom').add(window).resize(function() {
    addBottomBar();
  });
});

/* end of freetype2.js */