!-------------------------------------------------d
!  ULpack Module
!-------------------------------------------------
module ulpack
  use dcl_common
  contains
!------------------------------対数座標軸を描く．
    subroutine DclDrawXLogAxis(cside,nlbl,nticks)
      character(len=1), intent(in) :: cside       !座標軸を描く場所を指定する
      integer,          intent(in) :: nlbl        !1桁の範囲に描くラベルの数
      integer,          intent(in) :: nticks      !1桁の範囲に描く目盛の数
      call ulxlog(cside,nlbl,nticks)
    end subroutine

    subroutine DclDrawYLogAxis(cside,nlbl,nticks)
      character(len=1), intent(in) :: cside       !座標軸を描く場所を指定する
      integer,          intent(in) :: nlbl        !1桁の範囲に描くラベルの数
      integer,          intent(in) :: nticks      !1桁の範囲に描く目盛の数
      call ulylog(cside,nlbl,nticks) 
    end subroutine
!------------------------------フォーマットを設定する
    subroutine DclSetXLogFormat(cfmt)
      character(len=*), intent(in) :: cfmt        !文字書式仕様
      call ulxsfm(cfmt) 
    end subroutine

    subroutine DclSetYLogFormat(cfmt)
      character(len=*), intent(in) :: cfmt        !文字書式仕様
      call ulysfm(cfmt) 
    end subroutine
!------------------------------フォーマットを参照する
    subroutine DclGetXLogFormat(cfmt) 
      character(len=*), intent(out) :: cfmt
      call ulxqfm(cfmt) 
    end subroutine
      
    subroutine DclGetYLogFormat(cfmt)
      character(len=*), intent(out) :: cfmt
      call ulyqfm(cfmt)
    end subroutine
!------------------------------ラベルを描く位置を指定する．
    subroutine DclSetXLogLabel(position)
      real,      intent(in), dimension(:) :: position !1桁の範囲に描くラベルの位置
      call ulsxbl(position,size(position))
    end subroutine
      
    subroutine DclSetYLogLabel(position)
      real,      intent(in), dimension(:) :: position !1桁の範囲に描くラベルの位置
      call ulsybl(position,size(position))
    end subroutine
!------------------------------ラベルを描く位置を参照する．
    subroutine DclGetXLogLabel(position) 
      real,      intent(out), dimension(:) :: position
      call ulqxbl(position,size(position))
    end subroutine
      
    subroutine DclGetYLogLabel(position)            !y軸ラベルを描く位置を参照する．
      real,      intent(out), dimension(:) :: position
      call ulqybl(position,size(position)) 
    end subroutine
      
end module
